【问题标题】:docker-compose mongo healthcheck failingdocker-compose mongo 健康检查失败
【发布时间】:2020-04-14 22:13:10
【问题描述】:

您好,我的 mongo 健康检查失败 下面是我的 docker-compose 文件

version: "2.4"
services:
  production-api:
    build: .
    environment:
      - MONGO_URI=mongodb://mongodb:27017/productiondb
    volumes:
      - .:/app
    ports:
      - "3000:3000"
    depends_on:
        - mongodb   
        # condition: service_healthy

  mongodb:

    image: mongo
    ports:
      - "27017:27017"
    # healthcheck:
    #   test: echo 'db.runCommand("ping").ok' | mongo mongo:27017/productiondb --quiet 1
    #   interval: 10s
    #   timeout: 10s
    #   retries: 5

有没有办法将 MONGO_URI 作为变量传递给健康检查?

【问题讨论】:

    标签: mongodb docker docker-compose


    【解决方案1】:

    你的健康检查应该是这样的:

    test: echo 'db.runCommand("ping").ok' | mongo localhost:27017/productiondb --quiet
    

    另见:

    您可以将MONGO_URI 传递给运行状况检查,方法是再次指定它:

    mongodb:
    ..
    environment:
    - MONGO_URI=mongodb://mongodb:27017/productiondb
    

    如果您想对两者都使用一个值,请创建一个 env_file 并通过以下方式使用它:

    env_file:
    - mongo.env  # wich contains `MONGO_URI=mongodb://..`
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 2020-11-16
      • 2017-08-01
      • 2020-12-18
      • 2021-09-07
      • 2022-10-14
      • 2015-01-23
      相关资源
      最近更新 更多