1.目的

在旧镜像上的基础上添加一些文件,修改之后commit出一个新镜像,再把以前的旧镜像删除,但是这个时候一般会提示旧镜像包含有子镜像,是无法删除的

2.操作

前提先删除两个镜像所有启动的容器,然后导出子镜像,删除两个镜像,再导入保存的镜像

假设原镜像为: nginx:latest

commit生成一个新的镜像

  1. docker commit 612f701cc061 nginx2

这时候删除docker rmi nginx:latest 是无法删除的,我们需要导出nginx2

  1. docker save -o nginx.tar nginx2:latest

删除两个镜像

  1. docker rmi nginx:latest nginx2:latest

load新镜像

  1. docker load -i ./nginx.tar

因为一般就是想要保存子镜像,这样就达到了目的