简体   繁体   English

我无法连接到我在 docker compose 中运行的 MongoDB

[英]I can't connect to my MongoDB, which I run in docker compose

Here is my docker compose:这是我的码头工人:

version: "3.9"
services:
  app:
    container_name: app
    build:
      context: ./..
      dockerfile: deployments/Dockerfile
    env_file:
      - ../configs/config.env
    ports:
      - ${APP_PORT:-8080}:8080
    networks:
      - network
    restart: always

  db:
    image: mongo:latest
    container_name: mongodb
    restart: always
    env_file:
      - ../configs/config.env
    ports:
      - ${MONGODB_PORT:-27017}:27017
    environment:
      MONGO_INITDB_ROOT_USERNAME: ${MONGODB_ROOT_USER:-admin}
      MONGO_INITDB_ROOT_PASSWORD: ${MONGODB_ROOT_PASSWORD:-admin}
    volumes:
      - ../assets/mongo-init.sh:/docker-entrypoint-initdb.d/mongo-init.sh


  adminer:
    image: adminer
    container_name: db-adminer
    restart: always
    ports:
      - ${ADMINER_PORT:-17860}:8080
    networks:
      - network
    depends_on:
      - db

networks:
  network:
    driver: bridge

Here is my mongo-init.sh file:这是我的 mongo-init.sh 文件:

use newdb

db.createUser(
        {
            user: admin,
            pwd: admin,
            roles: [
                {
                    role: "readWrite",
                    db: "newdb"
                }
            ]
        }
);

Here I am trying to connect to the database, but I get the following error: topology is connected or connecting在这里我尝试连接到数据库,但出现以下错误:拓扑已连接或正在连接

client, err := mongo.Connect(ctx, options.Client().ApplyURI(fmt.Sprintf("mongodb://%s:%s@%s:%s",
        cfg.DbUsername, cfg.DbPassword, cfg.DbHost, cfg.DbPort)))

I don't understand what the error might be, since everything is fine in the env file and all the variables match the authentication parameters in mongo我不明白错误可能是什么,因为 env 文件中一切正常,并且所有变量都与 mongo 中的身份验证参数匹配

check this out:看一下这个:

services:
  productinfo:
    container_name: product_cntnr
    build: ./api-productinfo-service
    image: arc1999/api-productinfo-service
    ports:
      - '8090:8090'
    depends_on:
      db:
        condition: service_healthy
    links:
      - db
  scraping:
    build: ./api-scraping-service
    image: arc1999/api-scraping-service
    ports:
      - '8080:8080'
    depends_on:
      db:
        condition: service_healthy
    links:
      - db
  db:
    image: mongo:latest
    container_name: mongo_db
#    environment:
#      MONGO_INITDB_ROOT_USERNAME: root
#      MONGO_INITDB_ROOT_PASSWORD: rootpassword
    ports:
      - 27017:27017
    volumes:
      - mongodb_data_container:/data/db
    healthcheck:
      test: echo 'db.runCommand("ping").ok'
      interval: 10s
      timeout: 10s
      retries: 5
volumes:
  mongodb_data_container:
func InitDb() {
    host := "mongodb://mongo_db:27017" 
    rb := bson.NewRegistryBuilder()
    rb.RegisterTypeMapEntry(bsontype.EmbeddedDocument, reflect.TypeOf(bson.M{}))

    clientOptions := options.Client().ApplyURI(host).SetRegistry(rb.Build())

    // Connect to MongoDB
    client, err := mongo.Connect(context.TODO(), clientOptions)

    if err != nil {
        log.Panicln(err)
    }
    err = client.Ping(context.TODO(), nil)
    if err != nil {

        log.Panicln(err)
    }
    db = client.Database(os.Getenv("MONGO_DB_NAME"))
    fmt.Println("Connected to MongoDB!")
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 当我使用 MongoDB 和 NestJs 运行 docker-compose up 时,我无法访问 http://localhost:8080 - I can't access http://localhost:8080 when I run docker-compose up With MongoDB and NestJs 我无法使用 docker 组合将值插入 mongodb - I can't insert values ​into mongodb using docker compose 无法连接到从 docker-compose 运行的 MongoDB - Can't connect to MongoDB running from docker-compose 为什么我的 docker-compose 中的 azure 文件共享无法在 Azure 容器实例中存储 mongodb 数据? - Why can't I use azure file share in my docker-compose to store mongodb data in Azure Container Instance? 无法连接 MongoDB docker-compose - Can not connect MongoDB docker-compose 如何使用 docker-compose 使用此 mongoDB 连接字符串将我的 mongo 数据库连接到我的节点应用程序? - How do I connect my mongo database to my node app with this mongoDB connection string using docker-compose? 如何在 Docker 上运行 MongoDB 分片? MongoDB 分片在 Docker 上不起作用 - How can i run MongoDB sharding on Docker? MongoDB Sharding doesn't work on Docker 为什么我无法在 DataGrip 中连接到我的 MongoDB? - Why can't I connect to my MongoDB in DataGrip? 我无法将我的 Android 应用程序连接到 MongoDB - I can't connect my Android app to MongoDB 我无法通过其名称连接到我的mongo docker容器 - I can't connect to my mongo docker container by its name
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM