当从docker_compose文件运行时,mongodb容器的权限被拒绝。

问题描述 投票:0回答:1

使用Windows 10专业版。

这是我旗下的一个服务。docker_compose.yml 文件,我在vs代码中做docker_compose时,得到了这个错误。

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 up 时,我得到了这样的错误信息

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

有谁能告诉我我做错了什么吗?将MongoDb保存在我的本地以及在容器中使用它是否会造成任何问题?

mongodb docker docker-compose pymongo docker-machine
1个回答
0
投票

EDIT:

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

原文回答。

将 MongoDb 保留在我的本地以及在容器中使用它是否会造成任何问题?

是的,如果你在同一个默认端口(27017)上运行的话。你可以通过映射一个不同的本地端口来避免这个问题,例如,如果你的docker编译。

    ports:
        - 27018:27017

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

© www.soinside.com 2019 - 2024. All rights reserved.