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