一、使用命令查看容器tomcat的路径,如图:
二、解决步骤一数据卷查看,映射目录出错的。使用 “.Config.Volumes” 替换 “.Volumes” 如图:
三、发现map是空值,说明此方法不能查看容器tomcat的路径。因此,如图:
四、发现Mounts没有挂载的路径
五、新建docker_volume_tomcat文件夹,用于本地和docker挂载,如图:
六、为了持久化数据以及共享容器间的数据,Docker提出了Volume(卷积数)的概念。
Volume就是目录或者文件,它可以绕过默认的联合文件系统,而已正常的文件或者目录的形式存在于宿主机上。如图:
注:
docker_tomcat是tomcat的名字
-v用来声明Volume,docker_volume_tomcat是步骤五创建的文件夹
画红框的tomcat是镜像tomcat
七、查看文件夹,如图:
八、经过以上可以将docker_tomcat挂载到容器中,绕过默认的联合文件系统,我们可以在主机上直接操作该目录。任何在改镜像/docker_tomcat路径的文件都会被复制到Volume。使用docker inspect 命令找到Volume在主机上的存储位置:
注:
1、说明Docker把在/var/lib/docker/volumes下的某个目录挂载到了容器内的/docker_tomcat目录下
2、每执行一次步骤六,都会在/var/lib/docker/volumes下创建某个目录挂,即使删掉容器和本地挂载路径
(/docker_tomcat),也不会删除/var/lib/docker/volumes的那个文件夹
因此:
1)删除容器中的Volume
docker rm 很长的ID
2)删除本机的孤单卷volume,如下命令,删除全部未启用的volume,如图:
注:
1)若想删除一个容器,先停止运行,如图:
2)删除指定容器,使用命令docker rmi 如图:
3)若镜像下面有2个相同的IMAGE ID,使用2)这种方式删除会报错,如图:
4)应该按名字删除,如图:
5)再按照ID删除,如图: