Docker 容器里镜像的迁移,或者将修改后的新的容器重新做成一个镜像

————继上次docker制作nginx容器...

 

Docker  容器里镜像的迁移,或者将修改后的新的容器重新做成一个镜像,】

1.进入容器里nginx镜像里。

 

2.写测试内容到nginx的默认首页文件

 

3.exit退出去。

docker  ps   查看容器

docker  imaes  查看镜像

 

4. 将修改后的容器做成一个有tar标记的镜像。

思路:将修改后的容器重新做成一个镜像,将这个镜像导出成一个tag包,然后将这个tag包还原成一个新的镜像

docker  commit  812a997f614a    ubuntu:update

                           容器ID                新名字容器tag(随意起)

如:

docker  commit  640c369d7093  nginx2:test

 

5查看容器差异

docker  diff  812a997f614a(容器的id

目的:测试当前容器和变更的容器有什么区别

 

6.将变更后的tar包保存在当前路径下。

docker save -o update1.tar ubuntu:update

如:docker save -o nginx3.tar nginx2:test

 

7.删除原有的容器和镜像。

删除容器:  docker  rm  -f 

删除镜像:docker  rmi  -f  镜像的id

 

8.tar包转换成新的镜像

docker load --input  tar镜像包

如:

docker  load  --input  nginx2.tar

 

9.将容器的端口映射到宿主机的80端口上

docker run -itd --name nginx1 -p 80:80 还原后镜像的ID

 

10.验证:可以通过访问nginx容器的服务器的IP或者直接进入容器里查看nginx服务的首页文件,就可以看到是你修改后的容器镜像。

Docker  容器里镜像的迁移,或者将修改后的新的容器重新做成一个镜像,】

1.进入容器里nginx镜像里。

2.写测试内容到nginx的默认首页文件

3.exit退出去。

docker  ps   查看容器

docker  imaes  查看镜像

4. 将修改后的容器做成一个有tar标记的镜像。

思路:将修改后的容器重新做成一个镜像,将这个镜像导出成一个tag包,然后将这个tag包还原成一个新的镜像

Tar 包基于模板导出,基于镜像导出

 

docker  commit  812a997f614a    ubuntu:update

                     容器ID      新名字容器tag(随意起)

如:

docker  commit  640c369d7093  nginx2:test

 

5查看容器差异

docker  diff  812a997f614a(容器的id

目的:测试当前容器和变更的容器有什么区别

6.将变更后的tar包保存在当前路径下。

docker save -o update1.tar ubuntu:update

如:docker save -o nginx3.tar nginx2:test

 

6.删除原有的容器和镜像。

删除容器:  docker  rm  -f 

删除镜像:docker  rmi  -f  镜像的id

7.tar包转换成新的镜像

docker load --input  tar镜像包

如:

docker  load  --input  nginx2.tar

 

8.将容器的端口映射到宿主机的80端口上

docker run -itd --name nginx1 -p 80:80 还原后镜像的ID

原文地址:https://www.cnblogs.com/Leonardo-li/p/8505469.html