image / 镜像
默认名是 library , 比如 ubuntu 全写就是 library/ubuntu
镜像的唯一标识是其 ID 和摘要,而一个镜像可以有多个标签。
前一层是后一层的基础,每一层构建完就不会再发生改变。
命令
sh
docker images 'registry.cn-chengdu.aliyuncs.com/qins-img/hlx2' -q | tail -n +2 | xargs -r docker rmi -fsh
docker images -a
# 清楚 悬空 image
docker image prune查询
sh
# 默认只能从 hub 上查询
docker search nginx
# 需要先登陆
# docker login myregistry.com
docker search myregistry.com/nginx查看层
sh
docker history删除
sh
docker rmrm 可以是 id 也可以是 <仓库名>:<标签> 还可以是 digests
sh
> docker image ls --digests
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
node slim sha256:b4f0e0bdeb578043c1ea6862f0d40cc4afe32a4a582f3be235a3b164422be228 6e0c4c8e3913 3 weeks ago 214 MB
> docker image rm node@sha256:b4f0e0bdeb578043c1ea6862f0d40cc4afe32a4a582f3be235a3b164422be228build
sh
docker build -t username/imagename:tag .最后一个. 表示指定 上下文路径,可以简单点理解为 Dockerfile 所在目录,但是这并不准确!
详见:https://vuepress.mirror.docker-practice.com/image/build/#镜像构建上下文-context
多阶段构建
sh
docker build --target builder -t username/imagename:tag .格式化显示
https://vuepress.mirror.docker-practice.com/image/list/#以特定格式显示
sh
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}\t{{.Size}}"sh
IMAGE ID REPOSITORY TAG SIZE
cc3b6f849a23 hlx2-local latest 147MB
e8a1afec5f87 redis 6 106MB
a68005024ddd node 20 1.1GBsave 和 load
Docker 镜像的导入和导出
https://vuepress.mirror.docker-practice.com/image/other/#保存镜像