【问题标题】:Dockerized MongoDB Failing to connect on Heroku from NodeJs ContainerDockerized MongoDB 无法从 NodeJs 容器连接 Heroku
【发布时间】:2019-10-16 08:17:53
【问题描述】:

我有一个节点网络服务,我对 docker 有点陌生,所以请多多包涵。下面是我的 docker-compose 文件。我已在本地运行此映像,它工作正常,但尝试将其部署到 Heroku 时出现以下错误:

{ MongoError: failed to connect to server [mongo:27017] on first connect [MongoError: getaddrinfo ENOTFOUND mongo mongo:27017]

我已经找到了应该在 Heroku 中设置环境标志的位置,所以我设法检查了它并且没问题。但是还是找不到 mongo:27017

我做错了什么?

version: "3"
services:
  mongo:
    container_name: mongo
    image: mongo
    volumes:
      - ./data:/data/charecters
    ports:
      - "27017:27017"
    environment:
      - MONGO_INITDB_ROOT_USERNAME=admin
      - MONGO_INITDB_ROOT_PASSWORD=password
  mongo-seed:
    build: ./mongo-seed
    links:
      - mongo
    volumes:
      - ./mongo-seed:/mongo-seed
    command:
      - /mongo-seed/script.sh
  app:
    container_name: app
    restart: always
    build: .
    ports:
      - "3000:3000"
    links:
      - mongo
    environment:
      - DB_SERVERS=mongo:27017

【问题讨论】:

    标签: node.js mongodb docker heroku


    【解决方案1】:
    links:
          - mongo
    
    is depreciated try 
    
    depends_on:
         - mongo
    
    also, check that 
    
    mongo:
        container_name: mongo, is properly referenced in DB setup
    
    change command:
      - /mongo-seed/script.sh
    
    try command:
       - 'node your-app-file'
    

    【讨论】:

    • 请不要发布仅代码的答案。对于未来的读者来说,看到解释为什么这回答了这个问题会更有趣。
    猜你喜欢
    • 2020-11-16
    • 2021-04-12
    • 2021-11-26
    • 1970-01-01
    • 2021-06-26
    • 1970-01-01
    • 2023-02-07
    • 2013-10-04
    • 1970-01-01
    相关资源
    最近更新 更多