- 参考视频
- 1.将容器转为镜像
- 2.将mysql容器转为镜像
- 3.镜像的传输
19-dockerfile-容器转为镜像
1.将容器转为镜像eg:在tomcat镜像I1的容器C1中,部署了一个项目,并将C1转成一个全新的镜像I2。此后运行这个全新的镜像I2并生成一个容器C2时,该容器内部就会包含先前部署好的项目。
注意:容器转成镜像时,只会将容器中非数据卷的目录或文件打包进镜像,数据卷对应的目录和文件并不会打包进镜像。
2.将mysql容器转为镜像-
[生成并操作容器] 先运行mysql镜像生成容器,挂载数据卷,并操作该容器(新增一个名为test_docker_db的数据库)
-
[将容器转为镜像] 查看该容器的id,并根据id将容器转为镜像
# 查看所有容器(目的是查询容器id) docker ps -a # 将容器转为镜像 docker commit <容器id> <新镜像名称>:<新镜像版本号>
-
[运行新镜像生成容器] 使用docker run命令运行新镜像并生成一个容器
-
[进入容器查看文件情况] 使用docker exec进入新生成的mysql容器:
- 可以用root@123456进行登录,说明非数据卷的数据成功被打包进了镜像中;
- 先前容器创建的数据库表丢失,说明数据卷的数据没有被打包进镜像。
相关指令如下
# 将镜像转为压缩文件 docker save -o <压缩文件名称> <镜像名称>:<镜像版本号> # 将压缩文件还原成镜像 docker load -i <压缩文件名称>
使用docker save -o将镜像转换成压缩文件之后,就可以借助U盘等工具将传输镜像了。
接受方接收到压缩文件,使用docker load即可将压缩文件还原成docker镜像。



