docker -создать пн go проверка работоспособности не удалась - PullRequest
0 голосов
/ 14 апреля 2020

Здравствуйте, мой мон go проверка работоспособности ниже, мой docker -компонентный файл

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 в проверку работоспособности как переменную?

1 Ответ

1 голос
/ 14 апреля 2020

ваша проверка здоровья должна выглядеть следующим образом:

test: echo 'db.runCommand("ping").ok' | mongo localhost:27017/productiondb --quiet
  • имя хоста mongo не существует внутри контейнера mongodb, если вы не укажете hostname: mongo в своем файле или просто используйте localhost, что более распространено, при проверке здоровья
  • 1 после --quiet кажется опечаткой, которая приводит к [main] file [1] doesn't exist https://docs.mongodb.com/manual/reference/program/mongo/#cmdoption -mon go -quiet

см. также:

Вы можете передать MONGO_URI проверке работоспособности, указав ее во второй раз:

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

Если вы хотите использовать одно значение для обоих, создайте env_file и используйте его через:

env_file:
- mongo.env  # wich contains `MONGO_URI=mongodb://..`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...