1.Mac系统Docker中创建的Tomcat容器差异
先了解macOS中创建好的容器存在的差异
webapps/webapps.dist目录差异
docker通过镜像创建容器,在容器运行中是无法挂载的,而挂载的目的是为了更好的管理数据,因此无法在运行中挂载,那么只好把容器关掉重新运行,在重新运行的时候再挂载?很好的问题,但是我建议直接在从镜像创建容器的时候就直接给挂载好.
创建容器并挂载,容器创建后就能运行
挂载原理示意图:
创建容器的同时挂载文件
命令
docker run -d --name myname -p 宿主机端口:容器端口 -v 宿主机挂载文件夹(路径):容器中需要挂载的文件夹(路径) 镜像名字(通过那个镜像来创建的容器)
docker run -d --name mytomcat -p 8080:8080 -v /Users/meihongliang/docker_dev:/usr/local/tomcat/webapps tomcat
2.同样的,重新创建的tomcat容器的目录结构依然和其他系统不一样
这个时候,我们需要进入到容器中去:
进入容器的两种方式:
docker exec -it 容器id /bin/bash
docker exec -it 容器别名 /bin/bash
这个时候,我们需要将webapps.dist中的内容,全部复制到webapps中去,不需要改名,因为改不了,webapps文件夹被挂载了,不让改名字.
于是:移动命令
cp -r /webapps.dist/* webapps //将webapps.dist中的内容移动到webapps中去
然后重新加载,我重新打开我的tomcat,打开的时候,做了些修改
修改的地方是在我的创建的这个文件夹docker_dev,改了图标
localhost:8080
截图证明我的挂载是成功,我在宿主机上的修改,并且通过页面看到修改的内容,推断docker容器中一定时被修改了,于是挂载成功.Tata!