首页 > 解决方案 > 如果以 /data/db 卷启动,Docker mongo-express 无法连接到 mongo

问题描述

我有一个 docker-compose.yml,我从它开始docker-compose up——它可以工作。

version: "3"

services:
  mongo:
    image: mongo
    restart: always
    ports:
      - 27017-27019:27017-27019
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: example
      MONGO_INITDB_DATABASE: brandRegistry
    volumes:
      - ./setup/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
      # - ./data/mongo-volume:/data/db

  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: example
    depends_on:
      - mongo

但如果我- ./data/mongo-volume:/data/db在日志中评论说:

mongo-express_1  | Tue Jan 28 22:21:16 UTC 2020 retrying to connect to mongo:27017 (4/5)
mongo-express_1  | /docker-entrypoint.sh: connect: Connection refused
mongo-express_1  | /docker-entrypoint.sh: line 14: /dev/tcp/mongo/27017: Connection refused

我看不出这与音量有什么关系……我想存储持久数据。你有小费吗?

提前致谢!

标签: mongodbdocker

解决方案


我只是没有等待足够长的时间。如果从容器外部的数据卷开始,Mongo 需要更长的时间。mongo-express 会一次又一次地尝试连接。过一段时间就会成功。


推荐阅读