在容器化的環境下,我們要是想要去修改一個沒有Dockerfile的鏡像該怎麼辦呢?
一、我們要向這個鏡像中添加一個文件,可以先將這個鏡像啓動成容器;
docker run -d --name demo_oldimages oldimage:1.0.0 /bin/bash -c "tail -f /dev/null" #將鏡像運行起來,並保證容器不退出
二、 添加一個文件到這個容器裏面;
docker cp /home/ec2-user/daopinz/demo/logback.xml e3cbaa08c34c:/opt/jars/ #將本地文件copy到容器內部
三、將添加過文件的容器保存爲快照,並保存到本地;
或像GIT一樣直接提交爲一個新的鏡像:docker commit e3cbaa08c34c new_images:1.0.1(只能跟舊鏡像在同一個地方)
docker export e3cbaa08c34c > newimages.tar #將容器製作爲快照 .tar文件
四、將保存的快照,恢復成一個新的鏡像
cat newimages.tar |docker import - newimages:1.0.1 #導入容器快照作爲新的鏡像
五、將新的鏡像push到倉庫,就可以在k8s等環境中使用啦;
docker push docker.io/newimgaes:1.0.1 #push新的鏡像到倉庫
微信公衆號,搜索:zhangdaopin,也可方便快捷的看到本人的博客哦,謝謝~