我正在尝试使用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)。
任何人都知道为什么会这样吗?我已经几个小时没有结果了。
谢谢!
答案 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中的用户可以写入目录。