Как вы работаете с несколькими решениями и docker на микросервисах .NET Core?

#.net #visual-studio #docker #.net-core #docker-compose

#.net #visual-studio #docker #.net-ядро #docker-создать

Вопрос:

Я хотел бы знать, находится ли кто-нибудь в том же контексте. У нас микросервисная архитектура. Микросервисы отправляются в различные репозитории git в своих собственных решениях. Я ищу решение для нашей среды разработки.

Предположим, что у нас есть 2 решения, которые работают на Docker с несколькими изображениями. Решения могут использовать одни и те же образы, настроенные с одинаковыми портами. Таким образом, вы не можете запустить оба docker-compose одновременно.

Service Z solution docker -создание образов :

  • Служба Z (.NET Core 2.2), исходные коды в решении
  • Сервис A
  • Служба B
  • База данных C

Докер шлюзового решения -создание образов :

  • Шлюз X (.NET Core 3.1), исходные коды в решении
  • Служба Z
  • Сервис A
  • Служба B
  • База данных C
  • Служба D

Шлюз X вызывает службу Z. Мы хотим отлаживать Service Z и Gateway одновременно, потому что мы можем работать с обоими одновременно.

Я попробовал решение, но оно нас не убедило :

  1. Скомпилируйте и отправьте образ Service Z в локальное репозиторий docker (перестроение docker-compose из-за аргументов dockerfile)
  2. Измените docker-compose в решении Gateway, чтобы использовать локальную версию Service Z image
  3. Прикрепите к контейнеру Service Z из решения Service Z

Это решение занимает так много времени, и мне даже не удалось заставить его работать. Мы должны упростить другим разработчикам работу с ним, не затрачивая времени на настройку. Очевидно, что мы не можем вносить слишком большие изменения в архитектуру.

Мы запускаем образы в контейнерах Linux.

У вас есть какие-либо предложения? Заранее благодарю вас!

РЕДАКТИРОВАТЬ: мне удалось заставить первое решение работать, но процесс такой долгий…