【问题标题】:Docker container not mounting data volumeDocker 容器未挂载数据量
【发布时间】:2017-05-09 03:19:15
【问题描述】:

我有一个本地维护的 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容器可以看到volume了……

$ docker inspect
...
"Mounts": [
  {
    "Source": "/mnt/melissadata",
    "Destination": "/usr/local/tomcat/appconf",
    "Mode": "",
    "RW": true,
    "Propagation": "rprivate"
  }
],

findmnt 返回:

$ sudo findmnt -o TARGET,PROPAGATION /mnt/melissadata
TARGET           PROPAGATION
/mnt/melissadata private

有什么想法吗?

【问题讨论】:

  • 您是否运行docker exec 进入容器并导航树?该卷似乎已安装。
  • 我做到了。应该挂载的目录中没有任何内容。
  • sudo findmnt -o TARGET,PROPAGATION /mnt/melissadata 的输出是什么?
  • @RicardoBranco 我用这个答案更新了这个问题。
  • 匿名用户是否有文件的读取权限?

标签: docker docker-container


【解决方案1】:

发生这种情况的原因是 Docker 守护程序使用 devicemapper 到 devicemapper 来支持 Docker 的层存储。如果卷是在 Docker 守护程序启动后挂载的,那么 Docker 不知道它存在。重新启动 Docker 守护程序会修复它。

sudo service docker restart

【讨论】:

    猜你喜欢
    • 2017-10-23
    • 2018-03-31
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多