Docker 入门教程(三):镜像操作命令
文章目录
- 🐳 Docker 入门教程(三):镜像操作命令
- 获取镜像:`docker pull`
- 查看镜像:`docker images`
- 删除镜像:`docker rmi`
- 搜索镜像:`docker search`
- 镜像打标签:`docker tag`
- 镜像详情与历史:`inspect` 和 `history`
- 导出与导入镜像
- 清理无用镜像:`docker image prune`
- 快速命令汇总表
🐳 Docker 入门教程(三):镜像操作命令
镜像是 Docker 的基础组件之一,本节我们全面梳理如何获取、查看、管理和构建镜像。配合示例和常用参数,确保能灵活使用这些命令完成日常开发任务。
获取镜像:docker pull
从远程仓库(默认 Docker Hub)下载镜像非常简单:
docker pull nginx
拉取指定版本:
docker pull redis:6.2
拉取指定平台架构的镜像(比如 M1/M2 芯片):
docker pull --platform linux/amd64 node
如果你不指定 tag,Docker 会默认使用
latest
。
查看镜像:docker images
查看本地所有镜像:
docker images
示例输出:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 08b152afcfae 3 days ago 133MB
redis 6.2 9bdb3d4e3f75 1 week ago 105MB
几个常用参数:
-a
/--all
:显示所有中间层镜像(默认只显示最终层)-q
/--quiet
:只输出镜像 ID,用于脚本中--filter dangling=true
:过滤出无 tag 的“悬空镜像”
例子:查看所有悬空镜像的 ID
docker images -q --filter dangling=true
删除镜像:docker rmi
删除单个镜像:
docker rmi nginx
一次删除多个:
docker rmi nginx redis
如果镜像被容器使用,普通删除会失败。这时可以使用 -f
强制删除:
docker rmi -f nginx
注意:强制删除前请确保相关容器不再需要该镜像。
搜索镜像:docker search
可以在命令行搜索 Docker Hub 上的公开镜像:
docker search mysql
结果中会显示镜像名称、描述、星标数等。
也可以加过滤条件,例如只显示星标大于 5000 的:
docker search mysql --filter=stars=5000
镜像打标签:docker tag
给镜像添加一个新的名称或版本号:
docker tag nginx myrepo/nginx:v1
这不会复制镜像,只是起了一个别名。
在你准备将镜像上传到仓库时,这一步是必要的,因为仓库通常要求格式为:仓库名/镜像名:版本
镜像详情与历史:inspect
和 history
查看镜像详细元信息:
docker inspect nginx
这是一个 JSON 输出,包含镜像的配置、作者、构建参数等,非常适合调试或检查。
想看看这个镜像是如何一步步构建出来的,可以使用:
docker history nginx
输出会显示构建的每一层命令、大小和时间等内容。
导出与导入镜像
镜像可以导出为文件用于备份或离线传输:
docker save nginx -o nginx.tar
导入镜像文件:
docker load -i nginx.tar
这个功能在公司内部传输、无外网环境中特别实用。
清理无用镜像:docker image prune
长期使用 Docker,磁盘会迅速被未使用的旧镜像占满。可以用下面的命令清理它们。
只删除“悬空镜像”(无 tag):
docker image prune
删除所有未被容器使用的镜像(包括打过标签的):
docker image prune -a
如果你还想清除容器、网络等内容:
docker system prune -a
该命令会删除所有未使用的资源,请三思。
快速命令汇总表
操作 | 命令 |
---|---|
拉取镜像 | docker pull 镜像名[:tag] |
查看镜像列表 | docker images |
删除镜像 | docker rmi 镜像名 |
打标签 | docker tag 原镜像 新名称:tag |
查看详情 | docker inspect 镜像名 |
查看历史 | docker history 镜像名 |
搜索镜像 | docker search 关键词 |
导出/导入 | docker save / docker load |
清理镜像 | docker image prune / docker system prune |