У меня какая-то проблема с запуском многоконтейнерного приложения на Ma c. У меня есть 3 контейнера, работающих вместе: 2 просто web api (. NET Core) и официальный контейнер RabbitMQ, 2 события обмена API, используя сервис RabbitMq. Приложение работает корректно, выполняя docker compose project from Visual Studio debug, когда Api1 получает POST, он создает некоторые данные в БД и отправляет сообщение в Api2 с помощью rabbit; Api2 получает сообщение, отправленное Api1, оба api видны на localhost ... пока все хорошо.
Когда я пытаюсь переместить приложение из отладки Visual Studio в Docker У меня возникают некоторые проблемы, моя идея должен был использовать файл docker compose, сгенерированный VS на CLI docker (docker -compose up), следуя последовательности действий, которые я сделал:
1) Выполнение docker -составить из Docker CLI, сборка контейнеров, присутствующих в docker -создать, не удалось (я ожидал, что VS просто выполнит ту же docker -создание во время отладка, поэтому я ожидал таких же результатов, но, вероятно, я ошибся). Решение : Я удалил сборку и использую образы, созданные VS во время предыдущего теста отладки (все еще доступны в docker локальном репозитории образов), это позволяет обойти проблему сборки (мне все равно нужно выяснить причины , но давайте перейдем к следующей точке)
2) После шага 1 я могу выполнить docker -составить без ошибок, но 2 контейнера с 2 apis немедленно завершают работу с кодом 0 Контейнер RabbitMQ не имеет проблем и продолжает работать, как и ожидалось. Решение : Я добавил stdin_open: true и tty: true in docker - создать решение этой странной проблемы
3) После шага 2 я выполнил docker -составить и смог увидеть, что все контейнеры работают правильно, но 2 контейнера API больше недоступны на локальном хосте (связанный порт открыт и опубликован) поэтому я не могу больше отправлять запросы POST к API
Я не большой эксперт по Docker, но запуск этого простого мультиконтейнерного приложения занял у меня намного больше времени, чем ожидалось, и все же у меня есть сомнения и вопросы, любые предложения приветствуются.
Спасибо