第三章、Docker 镜像操作
Docker 的镜像是 Docker 容器的核心,Docker 的镜像必须在本地才能运行 Docker 容器。
Docker 镜像的获取方法:
- 从 Docker 镜像仓库下载
- 从镜像的压缩tar 包中导入镜像。
- 自己制作镜像
常用的 Docker 镜像相关的命令有如下几种:
功能
命令
列出本地镜像
docker images 或 docker image ls下载镜像
docker pull <镜像名:标签>从 Docker Hub 搜索镜像
docker search <关键词>从文件导入镜像
docker load -i <tar包文件路径名>导出镜像为文件
docker save -o <文件名.tar> <镜像名:标签>删除镜像
docker rmi <镜像ID或名称> 或 docker image rm <镜像ID或名称>清理无用镜像
docker image prune查看镜像详情
docker inspect <镜像ID或名称>查看镜像历史
docker history <镜像名>通过 Dockerfile 创建镜像
docker build -t <镜像名:标签> <上下文路径>从容器创建新镜像
docker commit <容器ID> <新镜像名:标签>镜像标签管理(打标签)
docker tag <原镜像名> <新镜像名:标签>查看镜像磁盘占用
docker system df因为 Docker 是运行在 root 下的服务。因此在执行上述命令式经常要使用 sudo 进行操作。
1. 列出本地镜像
查看本地 Docker 镜像可以使用 如下命令进行:
sudo docker images
也可以使用 docker images 命令的别名 docker image ls 或 docker image list 代替 docker images
示例
weimingze@mzstudio:~$ sudo docker images;
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest edbdd97bf78b 2 months ago 859MB
ubuntu 24.04 602eb6fb314b 2 months ago 78.1MB
上述列出了所有的本地 Docker 镜像,每一列内容如下:
- 第一列
REPOSITORY列是镜像的名称, 如mysql。 - 第二列
TAG列是镜像的标签,通常用于区分同名镜像的版本,如:24.04表示是ubuntu镜像的24.04版本;latest表示最新的版本。 - 第三列
IMAGE ID是镜像的ID,用于标识一个唯一的镜像,是在制作镜像时自动生成的sha256算法的签名信息。 - 第四列
CREATED是 镜像创建的时间,如:2 months ago表示两个月前。 - 第五列
SIZE是 镜像占用磁盘空间的大小。
docker image 命令的常用选项
选项
说明
-a 或 --all显示所有镜像,默认不显示中间层镜像。
-q仅显示镜像的 ID 列表(常用于批量删除镜像)。
--no-trunc显示全部信息,不截断
IMAGE ID使用
docker images --help可以查看docker images子命令的所有选项。后续所有子命令选项查询方法相同。
示例
weimingze@mzstudio:~$ sudo docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest edbdd97bf78b 2 months ago 859MB
ubuntu 24.04 602eb6fb314b 2 months ago 78.1MB
weimingze@mzstudio:~$ sudo docker images -q
edbdd97bf78b
602eb6fb314b
weimingze@mzstudio:~$ sudo docker images --no-trunc
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest sha256:edbdd97bf78b4338bbb96fa1348c8743a328b97ea3290b20adcab25bc17637de 2 months ago 859MB
ubuntu 24.04 sha256:602eb6fb314b5fafad376a32ab55194e535e533dec6552f82b70d7ac0e554b1c 2 months ago 78.1MB