首页 > 解决方案 > 在 docker 的 Mongo 容器中找不到 DB

问题描述

该应用程序(由 docker-compose up 生成)按预期工作。但是当我进入 mongo 容器(docker exec -it mongo)时,我找不到 db chatmongoose。

connectionString = 'mongodb://mongo:27017/ chatmongoose '

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
version: '3.7'

services:
    server:
        build:
            context: ./server
            dockerfile: Dockerfile
        image: myapp-server
        container_name: myapp-node-server
        command: /usr/src/app/node_modules/.bin/nodemon server.js

        ports:
            - '5000:5000'
        links:
            - mongo
        environment:
            - NODE_ENV=development
        networks:
            - app-network
    mongo:
        container_name: mongo
        image: mongo
        volumes:
            - data-volume:/data/db
        ports:
            - '27017:27017'
        networks:
            - app-network
    client:
        build:
            context: ./client
            dockerfile: Dockerfile
        image: myapp-client
        container_name: myapp-react-client
        command: npm start
        depends_on:
            - server
        ports:
            - '3000:3000'
        networks:
            - app-network
networks:
    app-network:
        driver: bridge

volumes:
    data-volume:
    node_modules:
    web-root:
        driver: local

应用程序中的数据确实按预期工作,但为什么我在容器中找不到数据库?

标签: mongodbdockerdocker-compose

解决方案


你可以试试个人资料。它可能只启动 mongo,但卷也是有效的。

docker-compose --profile mongo up

mongo:
     profiles: ["mongo"]
     container_name: mongo
     image: mongo
     volumes:
        - data-volume:/data/db
     ports:
        - '27017:27017'
     networks:
        - app-network

推荐阅读