Docker容器没有挂载数据量
Docker container not mounting data volume
我有一个本地维护的 Docker 映像,出于某种原因,它没有在容器中装载本地数据卷。
docker run -d -v /mnt/melissadata:/usr/local/tomcat/appconf -p 7070:7070 -p 80:8080 --restart on-failure:3 --name addrgeo imagename
在我的本地数据卷上,我有一些服务需要的文件,但无法找到它们。
我知道卷已安装。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvdi 202:128 0 10G 0 disk /mnt/melissadata
Docker 容器似乎可以看到卷...
$ docker inspect
...
"Mounts": [
{
"Source": "/mnt/melissadata",
"Destination": "/usr/local/tomcat/appconf",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
findmnt
returns:
$ sudo findmnt -o TARGET,PROPAGATION /mnt/melissadata
TARGET PROPAGATION
/mnt/melissadata private
有什么想法吗?
发生这种情况的原因是因为 Docker 守护程序使用 devicemapper 到 devicemapper 来支持 Docker 的层存储。如果卷是在 Docker 守护程序启动后安装的,那么 Docker 不知道它的存在。重新启动 Docker 守护程序修复它。
sudo service docker restart
我有一个本地维护的 Docker 映像,出于某种原因,它没有在容器中装载本地数据卷。
docker run -d -v /mnt/melissadata:/usr/local/tomcat/appconf -p 7070:7070 -p 80:8080 --restart on-failure:3 --name addrgeo imagename
在我的本地数据卷上,我有一些服务需要的文件,但无法找到它们。
我知道卷已安装。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvdi 202:128 0 10G 0 disk /mnt/melissadata
Docker 容器似乎可以看到卷...
$ docker inspect
...
"Mounts": [
{
"Source": "/mnt/melissadata",
"Destination": "/usr/local/tomcat/appconf",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
findmnt
returns:
$ sudo findmnt -o TARGET,PROPAGATION /mnt/melissadata
TARGET PROPAGATION
/mnt/melissadata private
有什么想法吗?
发生这种情况的原因是因为 Docker 守护程序使用 devicemapper 到 devicemapper 来支持 Docker 的层存储。如果卷是在 Docker 守护程序启动后安装的,那么 Docker 不知道它的存在。重新启动 Docker 守护程序修复它。
sudo service docker restart