docker基础原创
# 虚悬镜像
镜像列表中,可能会看到一个特殊的镜像,这个镜像既没有仓库名,也没有标签,均为
<none> <none> 00285df0df87 5 days ago 342 MB
1
原因有可能是官方镜像维护,发布了新版本后,原镜像名被转移到了新下载的镜像身上,而旧的镜像上的这个名称则被取消,从而成为了
docker image ls -f dangling=true
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 00285df0df87 5 days ago 342 MB
1
2
3
2
3
一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,可以用下面的命令删除。
docker image prune
1
??实测无法全部删完
# 中间层镜像
默认的 docker image ls 列表中只会显示顶层镜像,如果希望显示包括中间层镜像在内的所有镜像的话,需要加 -a 参数。
docker image ls -a
1
# 一些命令技巧
- 只输出镜像ID和仓库名:
$ docker image ls --format "{{.ID}}:{{.Repository}}"
5f515359c7f8: redis
05a60462f8ba: nginx
fe9198c04d62: mongo
00285df0df87: <none>
329ed837d508: ubuntu
329ed837d508: ubuntu
1
2
3
4
5
6
7
2
3
4
5
6
7
- 只输出id列
docker image ls -q
1
- 删除所有仓库名为 redis 的镜像
$ docker image rm $(docker image ls -q redis)
1
# 重启docker不影响pod
/etc/docker/daemon.json配置文件中设置 { "live-restore": true }