繁体   English   中英

如何将远程服务器中的 Mongo DB 连接到我的 Docker?

[英]How to connect to Mongo DB which is in remote server to my Docker?

嗨,我有一个使用 docker-compose 的应用程序。 我在端口 28107 上运行的远程 mongo DB 服务器中有大量数据。如何从我的 docker-compose 连接到该远程服务器?

下面是我的 docker-compose.yml 文件:

version: '3'
services:
  myapp:
    # container_name: myapp
    restart: always
    build: .
    ports:
      - '52000:52000'
      # - '8080:8080'
    #   - '4300:4300'
    #   - '4301:4301'
    environment:
      - MONGO_URL=mongodb://test:test@ip_address:28107/test
    # command: ["./wait-for-it.sh", "mongo:28107", "--", "npm", "start"]
    links:
      - redis
      - mongo
  mongo:
    # container_name: myapp-mongo
    image: 'mongo:latest'
    ports:
      - '28107:28107'
      # - '27017:27017'
    volumes:
      # - ~/Downloads/db_dump_09_01_2020:/data/db
      - /data/db
      # - /data/configdb
    # command: mongod --auth
  redis:
    # container_name: myapp-redis
    restart: always
    image: 'redis:4.0.11'
    # command: ["redis-server", "--appendonly", "yes"]
    depends_on:
      - helper
    sysctls:
      - net.core.somaxconn=511
    ports:
      - '6379:6379'
  helper:
    image: alpine
    command: sh -c "echo never > /sys/kernel/mm/transparent_hugepage/enabled"
    privileged: true

在上面的代码中,在environment参数中,我已经提到了远程mongo DB服务器url。 我拥有该网址中的所有数据。 我不想在我的本地主机中导出该数据并将其安装在我的 docker 容器中,但相反,我想将我的 docker 容器直接链接到该远程 mongo DB 服务器。

我该怎么做 ? 我是 docker 概念的新手。

似乎您正在尝试连接到与您的 docker 网络不同的网络上的外部 MongoDb 服务器。 那你应该不需要。

mongo: # container_name: myapp-mongo image: 'mongo:latest' ports: - '28107:28107' # - '27017:27017' volumes: # - ~/Downloads/db_dump_09_01_2020:/data/db - /data/db # - /data/configdb # 命令:mongod --auth

您应该只需要向 myapp 提供远程 MongoDb 服务器的必要环境设置。

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM