Docker 安装与镜像管理:从环境验证到版本标签
说明 Docker 安装后的验证命令、镜像来源、构建、标签、清理和生产版本管理原则。
知识目录Docker 从入门到生产部署3 / 14
动手前先知道
这篇文章对应的真实任务是:说明 Docker 安装后的验证命令、镜像来源、构建、标签、清理和生产版本管理原则。
第一次阅读先弄清“为什么需要这一步、它改变了哪个运行对象、失败时去哪里检查”,再执行命令。命令可以查,运行模型和排障路径才是长期能力。
Docker 安装和镜像管理不是专题里最难的部分,但它是上线链路的入口。这里最重要的是:知道自己装的是哪个 Docker、Compose 是否可用、镜像怎么构建、怎么清理、怎么打版本。
安装后先验证什么
安装完成后,先检查三个东西:
docker version
docker compose version
docker info
这三个命令分别确认:
- Docker 客户端和服务端是否正常。
- Compose 插件是否可用。
- 当前 Docker 的运行环境、存储驱动、镜像数量、容器数量。
如果 docker version 能看到 Client 但看不到 Server,通常说明 Docker Desktop 或 Docker 服务没有启动。
镜像从哪里来
镜像来源一般有三种:
- 从公共仓库拉取,比如
mysql、nginx。 - 自己用 Dockerfile 构建。
- 从私有镜像仓库拉取。
个人项目早期最常用的是前两种:基础设施用官方镜像,自己的前后端用 Dockerfile 构建。
常用镜像命令
查看镜像:
docker images
拉取镜像:
docker pull nginx:alpine
删除镜像:
docker rmi nginx:alpine
构建镜像:
docker build -t xiaoai-blog-api:2026-09-03 ./backend
给镜像打标签:
docker tag xiaoai-blog-api:2026-09-03 xiaoai-blog-api:latest
为什么不要只用 latest
latest 很方便,但它不适合做生产版本唯一标识。
如果线上只记录 latest,出现问题时很难回答:
- 当前线上到底是哪一次构建?
- 上一版镜像是什么?
- 回滚应该回到哪个版本?
更推荐的方式是:
xiaoai-blog-api:2026-09-03-001
xiaoai-blog-web:2026-09-03-001
或者使用 Git commit hash:
xiaoai-blog-api:8f31c2a
xiaoai-blog-web:8f31c2a
个人项目可以简单一点,但至少要保证“能知道当前线上是哪一版”。
镜像清理要小心
本地开发时镜像容易越积越多,可以清理悬空镜像:
docker image prune
清理不用的容器、网络、镜像:
docker system prune
但生产服务器上不要随手加 -a,因为它可能删除暂时没有被容器使用、但你准备用来回滚的旧镜像。
如果明确要只保留新版,也要先确认:
docker ps -a
docker images
再决定删哪些。
镜像管理的上线建议
对小艾知行录来说,我建议早期这样做:
- 本地或服务器构建镜像。
- 镜像标签带日期或 commit。
- Compose 文件引用明确版本。
- 上线成功后保留上一版镜像。
- 稳定一段时间后再清理更早镜像。
这样既不复杂,又能保证有基本回滚能力。
有哪里没看懂?可以只问这篇。
Jarvis 会限定在《Docker 安装与镜像管理:从环境验证到版本标签》及其公开关联内容中检索,并把引用定位回原文章节。