当前位置: 首页 > news >正文

Docker快速入门与应用

1. 什么是 Docker?

Docker 就像一个“魔法箱子”,可以把你开发的应用(代码、环境、配置)‌打包成一个标准化的容器‌,这个容器可以在任何支持 Docker 的系统上运行,无需担心环境差异导致的问题。

‌类比‌:想象你要搬家,把衣服、家具、电器全部装进标准尺寸的集装箱。无论用船、火车还是卡车运输,集装箱都能被统一处理。Docker 容器就是这个“集装箱”,你的应用是里面的物品,Docker 引擎是运输工具。

2. Docker 的核心概念

‌镜像(Image)‌:容器的“模板”,比如一个装好 Python 和代码的镜像。
‌容器(Container)‌:镜像运行时的实例(就像“启动一个程序”)。
‌仓库(Registry)‌:存储镜像的地方,比如 Docker Hub(类似手机的应用商店)。
如何在 Linux 上安装 Docker?

步骤 1:安装 Docker

以 ‌Ubuntu/Debian‌ 为例(其他系统类似):

1. 卸载旧版本(如有)

sudo apt remove docker docker-engine docker.io containerd runc

2. 安装依赖工具

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common

3. 添加 Docker 官方 GPG 密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

4. 添加仓库

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 安装 Docker

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

6. 验证安装

sudo docker run hello-world

如果看到 Hello from Docker!,说明安装成功!

如何使用 Docker?

场景 1:运行一个 Nginx 容器

拉取镜像(从 Docker Hub)

docker pull nginx

运行容器(映射主机 8080 端口到容器的 80 端口)

docker run -d -p 8080:80 --name my-nginx nginx

访问 http://localhost:8080 即可看到 Nginx 欢迎页

场景 2:自定义镜像(Dockerfile)

1.创建一个 Dockerfile 文件:

# 使用 Python 官方镜像作为基础
FROM python:3.9
# 拷贝代码到容器
COPY app.py /app/
# 安装依赖
RUN pip install flask
# 设置启动命令
CMD ["python", "/app/app.py"]

2.构建镜像并运行:

docker build -t my-python-app .
docker run -d -p 5000:5000 my-python-app

场景 3:数据持久化(挂载目录)

将主机的 /data 目录挂载到容器的 /app/data

docker run -d -v /data:/app/data --name my-data-container nginx

常用命令速查

命令			作用
docker ps	查看运行中的容器
docker images	查看本地镜像
docker stop <容器名>	停止容器
docker rm <容器名>	删除容器
docker rmi <镜像名>	删除镜像

进阶工具:Docker Compose

用于管理多个容器(如同时运行 Web + 数据库):

1安装 Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

2创建 docker-compose.yml 文件:

version: "3"
services:web:image: nginxports:- "8080:80"db:image: mysqlenvironment:MYSQL_ROOT_PASSWORD: 123456

启动服务:

docker-compose up -d

为什么用 Docker?
‌环境一致性‌:开发、测试、生产环境完全一致。
‌快速部署‌:秒级启动容器。
‌资源高效‌:多个容器共享系统内核,比虚拟机更轻量。

相关文章:

  • AD开启交叉选择功能,只选中器件,不选中网络、焊盘
  • TestNG接口自动化
  • h5移动端适配-dvh
  • SVN 中文路径访问报错(权限已正确分配)
  • YAFFS2 文件系统的 `yaffs_dev` 数据结构详解
  • UE RPG游戏开发练手 第二十二课 卸下手上武器
  • 蓝牙AVDTP协议概述
  • WSF12N15 MOS 管在筋膜枪中的高效应用
  • 【C++】语言深处的“精灵”:探索内存的奥妙
  • 【日撸 Java 三百行】Day 11(顺序表(一))
  • Python_SSE案例实现
  • PostgreSQL 中的序列(Sequence)
  • 深度解析Crawl4AI:面向大模型的新一代智能爬虫
  • 【合新通信】无人机天线拉远RFOF(射频光纤传输)解决方案
  • 学习黑客BitLocker与TPM详解
  • 【文献分享】机遇还是挑战:数字化转型对农业企业经营绩效的影响
  • 【markdown】介绍如何在markdown中绘制流程图
  • 具身-机器人-分层框架-大脑模块-RoboBrain1.0 RoboOS
  • DDR的PCB设计(T点)
  • 数据可视化:用一张图讲好一个故事
  • 扶桑谈|从石破茂“越菲行”看日本周边外交布局战略新动向
  • 《单身情歌》制作人韩贤光去世,林志炫发文悼念
  • 何立峰:中方坚定支持多边主义和自由贸易,支持世贸组织在全球经济治理中发挥更大作用
  • 被流量绑架人生,《人生开门红》能戳破网络时代的幻象吗
  • 普京提议于15日在土耳其恢复俄乌直接谈判
  • 新村回响:一周城市生活