mongodb 容器错误的权限被拒绝,而 docker_compose 文件中的 运行
permission denied for mongodb container error while running from docker_compose file
使用 Windows 10 专业版
这是我的 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_compose 时,出现此错误
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 保留在我的本地以及在容器中使用它会导致任何问题吗?
编辑:
您的问题是容器/主机权限。 This answer might help.
原始答案:
Will keeping MongoDb in my local as well as using it in the container will cause any problem?
是的,如果您 运行 使用相同的默认端口 (27017)。您可以通过映射不同的本地端口来避免这种情况,例如如果您的 docker 撰写:
ports:
- 27018:27017
然后连接到容器的端口 27018 上的mongo。
使用 Windows 10 专业版
这是我的 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_compose 时,出现此错误
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 保留在我的本地以及在容器中使用它会导致任何问题吗?
编辑:
您的问题是容器/主机权限。 This answer might help.
原始答案:
Will keeping MongoDb in my local as well as using it in the container will cause any problem?
是的,如果您 运行 使用相同的默认端口 (27017)。您可以通过映射不同的本地端口来避免这种情况,例如如果您的 docker 撰写:
ports:
- 27018:27017
然后连接到容器的端口 27018 上的mongo。