1. Docker 基础回顾:核心概念、安装与常用命令

在深入 DockerDAG 调度边界发布回滚 之前,必须夯实 Docker 基础。本章从镜像、容器、仓库三大核心概念出发,逐步覆盖安装验证与日常操作命令,为后续的调度编排与发布回滚场景建立统一的操作语境。

1.1 三大核心概念

概念 定义 类比 关键特征
镜像(Image) 只读的、分层结构的文件系统模板,包含运行应用所需的代码、运行时、库、环境变量和配置文件。 类 / 安装包 不可变、分层复用、通过 Dockerfile 构建
容器(Container) 镜像的运行实例,拥有独立的文件系统、网络、进程空间,可被启动、停止、删除。 对象 / 进程 轻量、隔离、可写层(临时)、生命周期短
仓库(Registry) 集中存储和分发镜像的服务,支持标签管理、版本控制、访问认证。 Git 远程仓库 公有(Docker Hub)/ 私有(Harbor、Nexus)
💡 核心原则: 镜像构建一次,到处运行;容器是镜像的标准化运行单元;仓库是镜像的版本管理与分发枢纽。三者构成 Docker 的“构建-分发-运行”闭环。
Docker 镜像、容器、仓库关系图 Docker 三大核心概念关系 仓库 (Registry) 镜像 (Image) 容器 (Container) docker pull docker run docker commit docker push 镜像不可变,容器可变但临时,仓库保证版本一致性与分发效率

1.2 Docker 安装与验证

Docker 支持主流操作系统。以下以 Ubuntu 22.04 LTS 为例,展示标准安装流程。

1.2.1 安装步骤

  1. 卸载旧版本(如有)
sudo apt-get remove docker docker-engine docker.io containerd runc
  1. 设置仓库
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 安装 Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  1. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

1.2.2 安装验证

执行以下命令确认 Docker 已正确安装并运行:

# 查看 Docker 版本信息
docker version

# 查看 Docker 系统信息(含容器数量、存储驱动等)
docker info

# 运行 hello-world 镜像验证容器引擎
docker run hello-world
✅ 验证成功标志: docker version 输出 Client 和 Server 两部分信息;docker run hello-world 打印欢迎消息并正常退出。

1.3 常用 Docker 命令速查

以下按操作对象分类,列出日常开发与运维中最常用的命令。

分类 命令 说明 示例
镜像管理 docker images 列出本地所有镜像 docker images --format "table {{.Repository}}\t{{.Tag}}"
docker pull 从仓库拉取镜像 docker pull nginx:1.25-alpine
docker rmi 删除本地镜像 docker rmi nginx:1.25-alpine
容器管理 docker run 创建并启动容器 docker run -d --name web -p 80:80 nginx
docker ps 列出运行中的容器 docker ps -a(含已停止)
docker stop/start/restart 控制容器生命周期 docker stop web
docker rm 删除容器 docker rm -f web(强制删除)
日志与调试 docker logs 查看容器日志 docker logs -f --tail 100 web
docker exec 进入容器内部执行命令 docker exec -it web bash
仓库交互 docker login 登录镜像仓库 docker login registry.example.com
docker push 推送镜像到仓库 docker push myapp:v1.0
⚠️ 常见陷阱:
  • docker run 每次都会创建新容器;如需复用,先 docker start 已有容器。
  • 删除镜像前必须确保没有容器(包括已停止的)引用该镜像,否则需先 docker rm 容器。
  • docker exec -it 中的 -it 组合用于交互式终端,缺少 -t 可能导致命令无响应。
Docker 常用命令工作流 Docker 常用命令工作流 仓库 pull 镜像 run 容器 stop / start / rm commit push push 核心循环:pull → run → (stop/start/rm) → commit → push 日志与调试命令(logs、exec)贯穿容器运行阶段

1.4 本章小结

  • 镜像是只读模板,容器是运行实例,仓库是分发中心,三者构成 Docker 的基石。
  • 安装后务必通过 docker version 和 docker run hello-world 验证引擎可用。
  • 掌握 pull、run、ps、stop、rm、logs、exec、commit、push 九大命令即可覆盖 90% 的日常操作。
  • 后续章节将基于这些基础命令,构建 DAG 调度任务与边界发布回滚策略。