分类
docker

docker 的 容器<->镜像<->tar包之间的管理

场景举例,当在开发环境上开发完成到一定程度时,需要去测试环境进行部署,让测试人员进行测试,这个时候需要将开发环境的容器进行打包,之后传到测试环境进行部署。

如果有线上的docker仓库,那么在容器打包完成后,用 docker push提交,再到测试机上用docker pull下载即可。
但是这里讲的不是这种方式。

容器的打包流程
容器->镜像->tar包

容器->镜像 以下命令
docker commit 容器名称 镜像名称
例如

docker commit my_php5.6 my_php5.6_bak

如下图

通过命令创建了 my_php5.6_bak 镜像。

随后就是镜像打包成tar包的控制。
镜像->tar包 以下命令
docker save -o tar包路径与文件名 镜像名称
例如

docker save -o /dockerData/tar/my_php5.6_bak.tar my_php5.6_bak

如下图

创建了 my_php5.6_bak.tar 包。

到这里打包操作就完成了,随后是部署操作。tar包->镜像->容器
在将tar包传输到测试机上之后。

容器->镜像 以下命令

docker load -i tar包的路径与名称

例如:

docker load -i /dockerData/tar/my_php5.6.tar

如下图

执行后发现,tar包已经转换成了镜像

随后就是部署容器,完成最后的 镜像->容器 流程

docker run -d  -p 9000:9000 --name my_php5.6 -v /dockerData/nginx:/etc/nginx/conf.d -v /data:/data my_php5.6_bak

如下图

其他的操作方式

# 执行版本打包镜像
docker save redis:3.2>/data/docker/docker.tar/redis.tar

# 指定镜像进行恢复
docker load</data/docker/docker.tar/redis.tar

发表评论

邮箱地址不会被公开。 必填项已用*标注