1.目的nginx
在旧镜像上的基础上添加一些文件,修改以后commit出一个新镜像,再把之前的旧镜像删除docker
2.实现方式bash
2.1使用Dockerfile新建ui
2.2使用commit命令,本文使用第二种code
3.步骤orm
假设原镜像为: nginx:latestget
3.1启动镜像it
docker run -it nginx:latest /bin/bash
3.2再打开一个Shell窗口io
其中 612f701cc061 为 CONTAINER IDform
docker commit 612f701cc061 nginx2
3.3查看镜像
能够看见两者 IMAGE ID 并不同,
新镜像ID fff815b9c91f
旧镜像ID b175e7467d66
3.4删除镜像
先中止上面启动的镜像,并删除相关容器,而后删除旧镜像,并不能成功,镜像存在依赖
docker rmi b175e7467d66
查看是否存在依赖, b175e7467d66 为 IMAGE ID
docker inspect --format='{{.Id}} {{.Parent}}' $(docker images --filter since=b175e7467d66 --quiet)
确实存在commit出来的 fff815b9c91f 镜像依赖
3.5保存新镜像
docker save -o nginx.tar nginx2:latest
3.6删除新旧镜像
docker rmi fff815b9c91f b175e7467d66
3.7load新镜像
docker load -i ./nginx.tar
至此已达到目的,相关网页
https://stackoverflow.com/questions/42834293/deleting-old-images-in-docker-osx