一、知识点概要
- 获取镜像
- 列出本地镜像
- 创建镜像
- 存出和载入镜像
- 移除本地镜像
- 镜像的实现原理
二、名词解释
基础镜像
一个没有任何父镜像的镜像,谓之基础镜像。
镜像ID
所有镜像都是通过一个 64 位十六进制字符串 (内部是一个 256 bit 的值)来标识的。 为简化使用,前 12 个字符可以组成一个短ID,可以在命令行中使用。短ID还是有一定的 碰撞机率,所以服务器总是返回长ID。
三、获取镜像
说明
从镜像仓库中拉取或者更新指定镜像
语法
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
选项
选项 | 说明 |
---|---|
-a | 拉取所有TAG镜像 |
--disable-content-trust | 忽略镜像的校验,默认开启 |
说明
参数 | 说明 |
---|---|
NAME | 仓库名(镜像名称) |
TAG | 是代表镜像的版本 |
DIGEST | 数据摘要 |

栗子
# 获取一个 mysql 8.0.17:
docker pull mysql:8.0.17
# 获取一个 mysql 5.7:
docker pull mysql:5.7

四、列出本地镜像
说明
显示本地已有的镜像
语法
docker image ls [选项] [仓库[:标签]]
常用选项
选项 | 说明 |
---|---|
-a | 显示本地所有的镜像(默认隐藏中间图像) |
-q | 只显示ID |
栗子
➜ docker image ls
# 显示摘要信息
➜ docker image ls--digests


属性 | 说明 |
---|---|
REPOSITORY | 来自于哪个仓库 |
TAG | 镜像的标记 |
IMAGE ID | 镜像 ID 号(唯一) |
CREATED | 创建时间 |
SIZE | 大小 |
DIGEST | 信息摘要 |
显示指定仓库的版本
docker image ls -a mysql
五、删除镜像
说明
用于删除一个或多个映像。我们可以用镜像的完整 ID,也称为 长 ID,来删除镜像。使用脚本的时候可能会用长ID,但是人工输入就太累了,所以更多的时候是用 短 ID 来删除镜像。docker image ls
默认列出的就已经是短 ID 了,一般取前 3 个字符以上,只要足够区分于别的镜像就可以了。如果想一次性删除多个可以使用空格隔开
语法
docker image rm [选项] <短 ID | 长 ID | 镜像名> ...
选项
名称,简写 | 默认 | 说明 |
---|---|---|
--force, -f |
false | 强制删除映像 |
--no-prune |
false | 不要删除未标记的父映像 |
栗子
通过镜像名删除
docker rm ubuntu
通过镜像ID删除
docker rm a2a15febcdf3
删除所有无用的镜像
docker images | grep '<none>' | awk '{print $3}' | xargs docker rmi
网友评论