一、Docker 镜像概述

Docker 镜像是一个只读模板,用于创建 Docker 容器。它类似于虚拟机镜像,可以包含基本的操作系统环境和所需的应用程序。

主要特点:

  • 镜像是容器的基础
  • 支持版本管理和增量文件系统
  • 提供简单的创建和更新机制
  • 可以从 Docker Hub 等镜像仓库下载现成的应用镜像

二、Docker 镜像操作命令

1. 列出本地镜像

docker images

显示信息包括:

REPOSITORY:表示镜像的仓库源

TAG:镜像的标签

IMAGE ID:镜像ID

CREATED:镜像创建时间

SIZE:镜像大小

2. 搜索镜像

NAME DESCRIPTION STARS OFFICIAL AUTOMATED
httpd The Apache HTTP Server Project 4047 [OK]

NAME: 镜像仓库源的名称 DESCRIPTION: 镜像的描述

OFFICIAL: 是否docker官方发布

STARS: 类似Github 里面的star,表示点赞、喜欢的意思。 AUTOMATED: 自动构建。

docker search <镜像名>

或访问 Docker Hub 网站:https://hub.docker.com/

3. 下载镜像

docker pull <镜像名>

默认下载最新版本,可从 Docker Hub、阿里云等仓库下载

4. 添加镜像标签

docker tag <原镜像名>:<标签> <新镜像名>:<标签>

为同一镜像文件创建别名,镜像ID保持不变.

他们实际上指向了同一个镜像文件,只是别名不同而已

5. 查看镜像构建历史

docker history <镜像名>

查看镜像的构建过程和层次信息

6. 删除镜像

# 通过镜像名删除
docker rmi <镜像名>

# 通过镜像ID删除
docker rmi <镜像ID>

# 强制删除(当镜像有多个标签时)
docker rmi -f <镜像ID>

7. 清理无用镜像

docker image prune [-a] [-f]
  • -a:删除所有无用镜像
  • -f:强制删除,不确认

8. 导出镜像

docker image save <镜像名> > <文件名>.tar.gz

将镜像保存为压缩文件,便于迁移

9. 导入镜像

docker image load -i <文件名>.tar.gz

从压缩文件导入镜像

10. 查看镜像详细信息

# 查看完整信息
docker image inspect <镜像名>

# 查看特定信息
docker image inspect -f "{{.Architecture}}" <镜像名>
docker image inspect -f "{{.Os}}" <镜像名>
docker image inspect -f "{{.Size}}" <镜像名>

三、关键要点

  1. 自动下载:使用不存在的镜像时,Docker 会自动从仓库下载
  2. 标签作用:同一镜像的不同标签指向相同的镜像文件
  3. 删除限制:被使用的镜像无法直接删除
  4. 强制删除:当镜像有多个标签时,需要使用 -f 选项
  5. 定期清理:使用 docker image prune 清理临时和未使用的镜像文件
  6. 镜像迁移:通过 saveload 命令实现镜像的导出和导入
Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐