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

时间:2019-04-09 23:56:06

标签: docker docker-compose dockerfile

我正在尝试使用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)。

任何人都知道为什么会这样吗?我已经几个小时没有结果了。

谢谢!

3 个答案:

答案 0 :(得分:1)

此问题与权限错误有关。

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

答案 1 :(得分:0)

为此更改您docker-compose.yml

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

答案 2 :(得分:0)

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