1.问题:之前启动容器的时候没有映射目录,然后由于docker挂载的硬盘目录不够用,所以需要新加一个挂载目录,在不重新启动新的容器的情况下,如何去更新容器的挂载目录?
2.解决方案
第一步:停止容器,停止docker服务
第二步:docker inspect xxx查看改容器的真实目录
进入到对应容器的目录下面
第三步:修改config.v2.json和hostconfig.json文件
在config.v2.json中新增挂载目录
"MountPoints": {
"/home/E-LubanPDS/geotif": {
"Source": "/home/motordata/geotif",
"Destination": "/home/E-LubanPDS/geotif",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/home/motordata/geotif",
"Target": "/home/E-LubanPDS/geotif"
},
"SkipMountpointCreation": false
}
},
在hostconfig.json中新增挂载目录,在Binds中新加映射的目录,前面为宿主机路径,后面为容器中的路径
"Binds":["/home/motordata/geotif:/home/E-LubanPDS/geotif"]
修改两个文件后,启动docker服务和容器
service docker.service start
docker start xxx
至此,大功高成,但是此方法需要重启整个docker服务,如果容器多,就比较麻烦了,所以最好在容器创建的时候就映射好目录