从docker_compose文件运行时,由于mongodb容器错误,权限被拒绝



使用Windows 10 Pro。

这是我的docker_compose.yml文件下的服务之一。

version: '3'
networks:
demo-net:
services:
mongodb:
image: mongo:latest
container_name: mongodb
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: root
MONGO_INITDB_DATABASE: admin
ports:
- 27017:27017
volumes:
- ./mongo_data:/data/db
networks:
- demo-net

当我在vs代码中进行docker_composite时,我得到了这个错误

mongodb    | 2020-05-07T16:53:34.336+0000 W  STORAGE  [initandlisten] Failed to start up WiredTiger under any compatibility version.
mongodb    | 2020-05-07T16:53:34.337+0000 F  STORAGE  [initandlisten] Reason: 1: Operation not permitted
mongodb    | 2020-05-07T16:53:34.337+0000 F  -        [initandlisten] Fatal Assertion 28595 at src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 915
mongodb    | 2020-05-07T16:53:34.337+0000 F  -        [initandlisten]
mongodb    |
mongodb    | ***aborting after fassert() failure
mongodb    |
mongodb    |
mongodb exited with code 14

有人能告诉我我做错了什么吗?这段代码正在一个朋友的mac上运行。将MongoDb保留在我的本地以及在容器中使用它会引起任何问题吗?

编辑:

您的问题是容器/主机权限。这个答案可能会有所帮助。

原始答案:

将MongoDb保留在本地以及在容器中使用会引起任何问题吗?

是,如果您在同一默认端口(27017(上运行。您可以通过映射不同的本地端口来避免这种情况,例如,如果您的docker撰写:

ports:
- 27018:27017

然后连接到容器的端口27018上的mongo。

最新更新