Как создать такую ​​же среду разработки и разработки для контейнеров Docker с сертификатами SSL? - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь настроить одинаковую среду с одним docker-compose.yml для разработки и производства с помощью докеров-контейнеров, используя docker compose и ecs-cli от AWS, но у меня возникают проблемы с настройкой (Let's Encrypt) SSL-сертификатов.

В настоящее время у меня есть 2 контейнера (см. Код ниже) в конфигурации docker-compose.yml.Одним из них является стандартное изображение комара с пользовательской конфигурацией, которое я перестроил и сохранил в реестре приватных контейнеров, а другое - стандартное изображение certbot, которое я использую.С этой конфигурацией я попытался запустить в разработке с «docker-compose up» и для развертывания с «ecs-cli compose up».

version: '3'
services:
  mosquitto:
    image: {CUSTOM MOSQUITTO IMAGE}
    entrypoint: mosquitto -c /mosquitto/config/mosquitto.conf -v
    volumes:
      - letsencrypt:/etc/letsencrypt
    ports:
      - "8883:8883"
# ONLY DIFFERENCE BETWEEN DEV/PROD ENV
#    logging:
#      driver: awslogs
#      options: 
#        awslogs-group: mqtt_broker
#        awslogs-region: eu-central-1
#        awslogs-stream-prefix: web

  certbot:
    image: "certbot/certbot"
    entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew --noninteractive; sleep 12h & wait $${!}; done;'"
    volumes:
      - letsencrypt:/etc/letsencrypt
    ports:
      - "80:80"
# ONLY DIFFERENCE BETWEEN DEV/PROD ENV
#    logging:
#      driver: awslogs
#      options: 
#        awslogs-group: certbot
#        awslogs-region: eu-central-1
#        awslogs-stream-prefix: web

У меня следующая проблема: При разработке я не могу запросить(первоначальный) сертификат certbot, поскольку он не запрашивается у целевого домена (очевидно).Я попробовал --manual от certbot, но, похоже, у этого есть некоторые недостатки, и я пока не могу заставить его работать автономно.В результате у докерного контейнера нет начальных сертификатов при развертывании в производство.Однако без сертификатов контейнер от комаров падает сразу же во время развертывания.

Кажется, я застрял в цикле проблемы курица / яйцо, и я не могу выяснить, как это решить в devOps.Является ли моя текущая установка неправильной, что эта проблема возникает?Или я что-то упускаю?До сих пор я не нашел другого способа запустить настройку нескольких контейнеров без необходимости поддерживать отдельные файлы для сред разработки и разработки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...