Как запустить несколько django сервисов в одном Docker контейнере? - PullRequest
0 голосов
/ 02 февраля 2020

У меня есть проект Django с несколькими микросервисами, которые в значительной степени зависят от самой инфраструктуры django и должны начинаться с:

python manage.py sevicename1
python manage.py sevicename2
python manage.py sevicename3
python manage.py sevicename4
python manage.py sevicename...

Все они взаимодействуют друг с другом. Как правильно запускать их в одном Dockerfile вместе?

1 Ответ

0 голосов
/ 02 февраля 2020

Невозможно вырезать их в отдельных контейнерах. Я не нашел лучшего решения и сделал это в своем docker -compose.yml через якоря YAML.

dg: &dg
  image: python:3.7.6-alpine
   command: ....  --> ( gunicorn --config ./gunicorn.conf.py core.wsgi:application)

dg_run_sevicename1:
  <<: *dg
  restart: on-failure
  ports:
    - 9011:9011
  command: python manage.py sevicename

dg_run_sevicename2:
  <<: *dg
  restart: on-failure
  command: python manage.py sevicename2

dg_run_sevicename3:
...

Если я не согласен на базовое множественное использование одного и того же источника проекта и использование отдельного CMD или ENTRYPOINT в конце с каждой декларацией DOCKERFILE или YML это прекрасно. Оно работает. Однако общий размер изображений в 3 раза больше, чем сама исходная папка. Можно ли сделать это лучше?

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