Docker - docker镜像的导出、修改及导入

          在容器化的环境下,我们要是想要去修改一个没有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,也可方便快捷的看到本人的博客哦,谢谢~

posted @ 2022-01-27 18:36  zhangdaopin  阅读(703)  评论(1编辑  收藏  举报