删除使用 docker tag 指令生成的 docker 镜像
使用 docker tag 生成的镜像,与原镜像 ID 相同,删除此镜像,需要输入镜像名:版本号,仅输入镜像名省略版本号不一定能删除成功
·
1. 删除docker镜像的指令
删除 docker 镜像的指令:docker image rm -f 镜像名/镜像ID
- 若输入容器ID
- 通常状况下,容器ID为唯一的,因此输入对应容器的容器ID,即可删除
- 容器ID输入不需要完整的,只需要输入到能唯一确定的位数即可
- 若输入镜像名
- 完整的镜像名 [镜像仓库地址/机构名/]镜像名[:版本]
- 至少需要输入镜像名
2. 遇到的问题
若对现有镜像执行docker tag指令后,两个镜像的镜像ID显示相同,若两个镜像的版本号也相同,则直接输入命令无法删除
-
如以下两个镜像:
lxy_repo_test/my_rocky_ifconfig和localhost:5000/my_rocky_ifconfig
两者版本号均为1.0,镜像ID均为3860729ba9bd
-
直接输入
镜像名称,无法删除,即使两镜像名称不同也无法删除

-
直接输入
容器ID,两个镜像都会被删除 (因为这两个镜像的ID相同) -
通过
docker inspect命令可以看到,两个镜像的镜像ID完全相同
3. 解决方案
在容器名后加上对应的版本号即可正确删除
4. 原因分析
- 自己记忆的常用的删除 docker 镜像的命令,理解不够全面
- 删除 docker 镜像的指令:
docker image rm [-f] 镜像名/镜像ID
或者:docker rmi [-f] 镜像名/镜像ID - 在这里,
镜像名需要指定版本号
若不指定版本号,则认为版本为latest - 同理,从 docker hub 等公共镜像源,若不指定版本,则下载的镜像版本为
latest - 若删除镜像时,不指定版本,则命令默认查找
latest版本,正好就能把上面未指定版本的镜像删除。
这也是之前第一点指令中规定至少输入镜像名的情况(镜像版本是latest,则输入可省略)
- 删除 docker 镜像的指令:
- 测试,如果给一个镜像打上
latest版本,删除镜像时即可省略版本号-
使用镜像
lxy_repo_test/my_rocky_ifconfig:1.0生成镜像test_rm:latest
-
尝试删除镜像,
镜像名省略版本号,直接写test_rm
删除成功
-
更多推荐
所有评论(0)