我已经成功将主机上的/home/<user-name>
文件夹挂载到现有(未运行)容器的/mnt
文件夹中。您可以按照以下方式操作:
打开相应已停止容器的配置文件,可以在/var/lib/docker/containers/99d...1fb/config.v2.json
找到(对于早期版本的docker可能是config.json
)。
找到MountPoints
部分,在我的情况下为空:"MountPoints":{}
。然后将其内容替换为类似以下内容(您可以从具有正确设置的另一个容器复制正确的内容):
"MountPoints":{"/mnt":{"Source":"/home/<user-name>","Destination":"/mnt","RW":true,"Name":"","Driver":"","Type":"bind","Propagation":"rprivate","Spec":{"Type":"bind","Source":"/home/<user-name>","Target":"/mnt"},"SkipMountpointCreation":false}}
或者相同(格式化):
"MountPoints": {
"/mnt": {
"Source": "/home/<user-name>",
"Destination": "/mnt",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/home/<user-name>",
"Target": "/mnt"
},
"SkipMountpointCreation": false
}
}
- 重新启动docker服务:
service docker restart
我在Ubuntu 18.04.1和Docker 18.09.0上尝试过,此方法对我有效。
docker exec -it d1a2cc990208 bash
时,我进入了挂载卷的容器。 - Samos