docker commit新镜像之后删除旧镜像

1.目的

    在旧镜像上的基础上添加一些文件,修改之后commit出一个新镜像,再把以前的旧镜像删除

2.实现方式

    2.1使用Dockerfile新建

    2.2使用commit命令,本文使用第二种

3.步骤

    假设原镜像为: nginx:latest

    3.1启动镜像

docker run -it nginx:latest /bin/bash

    3.2再打开一个Shell窗口

    其中 612f701cc061 为 CONTAINER ID

docker commit 612f701cc061 nginx2

    3.3查看镜像

    可以看见二者 IMAGE ID 并不一样,

    新镜像ID    fff815b9c91f

    旧镜像ID    b175e7467d66

123226_EnAF_2937605.png

    3.4删除镜像

    先停止上面启动的镜像,并删除相关容器,然后删除旧镜像,并不能成功,镜像存在依赖

docker rmi b175e7467d66

123421_Q61T_2937605.png

    查看是否存在依赖, b175e7467d66 为 IMAGE ID 

docker inspect --format='{{.Id}} {{.Parent}}' $(docker images --filter since=b175e7467d66 --quiet)

    确实存在commit出来的 fff815b9c91f 镜像依赖

123824_3eE7_2937605.png

    3.5保存新镜像

docker save -o nginx.tar nginx2:latest

    3.6删除新旧镜像

docker rmi fff815b9c91f b175e7467d66

    3.7load新镜像

docker load -i ./nginx.tar

124149_JxZU_2937605.png

    至此已达到目的,相关网页

https://stackoverflow.com/questions/42834293/deleting-old-images-in-docker-osx

转载于:https://my.oschina.net/u/2937605/blog/1797218

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值