Docker-compose:尝试运行 mongo 映像时出错



我正在尝试使用 mongo-compose 运行图像。

撰写文件是这个:

version: '2'
services:
  db:
    image: mongo:3.4.10
    volumes:
      - ./data/mongodb:/data/db

我跑完之后

docker-compose -p DropDesk up -d db

我收到"完成"消息,但容器未运行。检查容器日志,我看到以下消息:

exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/db, terminating

此外,如果我从撰写文件中删除卷映射,容器可以正常工作。

我使用的是 Centos 7(内核 5(,我已经禁用了 selinux,我使用的是 Docker 引擎 18.09(。

有谁知道为什么会这样?我已经几个小时没有结果了。

docker-compose.yml文件更改为:

version: '2'
services:
    db:
        image: mongo:3.4.10
        command: mongod --dbpath /data/db
        volumes:
            - ./data/mongodb:/data/db

此问题与错误的权限有关。

确保 docker-compose.yml 文件中的./data卷端点位于用户组其他权限支持的文件系统上。将文件夹放在NTFS格式化的分区上将导致上述错误(将其移动到Ext4将解决此问题(。

将权限更改为目录./data/mongodb以便 docker 中的用户可以写入目录。