在容器化的環境下,我們要是想要去修改一個沒有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,也可方便快捷的看到本人的博客哦,謝謝~
