docker commit新鏡像以後刪除舊鏡像

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

相關文章
相關標籤/搜索