本篇主要讲解Docker无目录挂载、有目录挂载的容器打包成镜像,以及镜像的打包与迁移。
Here we go!
一、无数据目录挂载的 CentOS 7 容器打包成镜像
1、查看当前所有镜像名称
2、查看要打包的centos的容器名称及是否存在目录挂载
docker inspect --format='{{.Mounts}}' 容器名
3、 进行容器打包操作并查看
docker commit mycentos mycentos_image:1.1
二、有数据挂载的tomcat容器打包成镜像
1、先查看tomcat容器名称及挂载情况
看到容器webapps目录映射的是宿主机/usr/local/project目录
2、 备份宿主机/usr/local/project目录,备份目录为/usr/local/project/tomcat
3、打包 mxg_tomcat容器成一个新的镜像
docker commit mxg_tomcat tomcat_new:1
docker images
4、用新的tomcat镜像创建新的tomcat容器
docker run -id --name=my_tomcat_new -p 8081:8080 -v /usr/local/project/tomcat:/usr/local/tomcat/webapps tomcat_new:1
5、测试验证
这样便利用了新的tomcat_new镜像,生成了一个名为my_tomcat_new的容器,并挂载了
/usr/local/project/tomcat:/usr/local/tomcat/webapps
我们可以进入容器的webapps目录,看一下是否有在宿主机里备份的文件
在用window访问服务器的8081端口,验证成功!
三、镜像打包及迁移
1、备份镜像
利用docker save -o redis.tar redis, 打包了redis镜像,保存到当前目录。
2、镜像的恢复与迁移
首先需要删掉redis镜像,先停止并删除所有引用该镜像的容器。
3、 加载tar压缩包中的镜像
docker load -i mycentos.tar
docker images