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

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

这不会复制镜像,只是起了一个别名。

在你准备将镜像上传到仓库时,这一步是必要的,因为仓库通常要求格式为:仓库名/镜像名:版本


镜像详情与历史:inspecthistory

查看镜像详细元信息:

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

相关文章:

  • 【菜狗的记录】模糊聚类最大树、图神经网络、大模型量化——20250627
  • Ubuntu安装Docker部署Python Flask Web应用
  • 【RAG面试题】如何获取准确的语义表示
  • 自动登录脚本神器-Mac电脑实现自动登录堡垒机并自动输入账号密码跳转不同机器环境
  • GitHub Actions与AWS OIDC实现安全的ECR/ECS自动化部署
  • 用 pnpm + TurboRepo,构建多项目高效开发体系
  • 参考nlohmann json设计Cereal宏 一行声明序列化函数
  • git add 报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xaf in position 42
  • 【iOS初体验】Hello, UIKit! - 第一个iOS App保姆式教程
  • iOS App 上架常见问题解决方案:六大难点与实战工具分工详解
  • CatBoost:征服类别型特征的梯度提升王者
  • 数据驱动AI研发的质量与效能策略
  • CVE-2015-5531源码分析与漏洞复现(Elasticsearch目录遍历漏洞)
  • Qt 与 Halcon 联合开发六:基于海康SDK设计完整的相机类【附源码】
  • LeetCode 349题解 | 两个数组的交集
  • 洛谷P5021 [NOIP 2018 提高组] 赛道修建
  • kubesphere中搭建DevOps创建流水线
  • 关于SAP产品名称变更通知 SAP云认证实施商工博科技
  • 常用命令总结
  • 安全运营中的漏洞管理和相关KPI