无容器目录挂载
1、也就是说宿主机未与容器进行路径映射,故我们可以直接使用指令: docker commit 容器名称/容器ID 像名:标签号,把容器保存为镜像; (其中镜像名和标签号是我们随机取的,新镜像名以及我们的标签号!)
2、我们在不能判断容器与宿主机存在目录挂载/路径映射之前,我们可以使用指令:docker inspect --format=',Mounts小容器名(其中,这个容器名为我们要测试的容器名)
有容器目录挂载
1、首先,我们存在容器目录挂载的容器在保存为新镜像时,里面的数据全部会被抛弃,不会保存在新镜像中,故我们不能像上面那样直接使用指令进行保存为镜像:
2、解决方法:我们可以先把与容器A进行了目录挂载/路径映射的宿主机相应目录下的文件拷贝到另外的一个备份文件夹,然后再把容器A保存为新镜像后,使用新镜像创建容器B并进行目录挂载路径映射时,映射路径改为宿主机上的备份文件夹,这样以来,我们使用新镜像创建的容器B中就能有原来宿主机原路径下的数据!
3指下’cn .f /usr/1ocal/proiect/ /usr/ocal/baseproiect 其中/usr/ocalpriec为原国录usrlocal/baseoroiec大备目录);
然后容器A保存为镜像: docker commt 新像名:标签号 使用新镜像创建容器B并与备份目录进行映射: docker run -id -name=容B-p 8081:8080 -V /usr/local/baseproject:/usr/local/tomcat/webapps --privileged=true 新镜像名: 标签号
dockerQ 常用指令总结:
-id:创建并运行一个守护式容器:
觉得还不错? 一键收藏