#visual-studio #docker #asp.net-core #.net-core #docker-compose
#visual-studio #docker #asp.net-core #.net-ядро #docker-compose
Вопрос:
Я следовал рекомендациям Microsoft относительно использования инструментов Docker в Visual Studio, как описано в следующих ссылках:
- https://learn.microsoft.com/en-us/dotnet/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/visual-studio-tools-for-docker
- https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/docker/visual-studio-tools-for-docker?view=aspnetcore-2.2
У меня есть решение, которое содержит мой проект веб-программы и проект docker-compose. Когда я отлаживаю программу, она запускает экземпляр отладчика под названием «Docker Compose», который был создан Visual Studio при добавлении проекта docker-compose. Вот скриншот панели инструментов отладки:
Когда я проверяю это в системе управления версиями, файлы docker-compose включаются в git, как и ожидалось:
- docker-compose.dcproj
- docker-compose.override.yml
- docker-compose.yml
- .докеригнор
Однако, когда я повторно клонирую репозиторий и запускаю заново, отладчик «Docker Compose» недоступен. Вместо этого есть отладчик «Docker», который, похоже, игнорирует проект «docker-compose» при его запуске.
При запуске этого отладчика он выполняет сборку только для базового контейнера docker, но не для содержимого docker-compose, что делает его неработоспособным для локального тестирования / отладки.
Единственный способ, который я нашел, чтобы вернуть отладчик «Docker Compose», — это выполнить одно из следующих действий:
- Проверьте папку «.vs» в системе управления версиями. ФУ! — Не вариант.
или
- При клонировании и после открытия решения в Visual Studio:
- «Удалите» проект «docker-compose» из решения. НЕ удаляйте файлы с диска.
- Повторно добавьте «Поддержку контейнера оркестровки» в проект. Это позволит воссоздать проект docker-compose в решении. Отвечайте «Нет» на все запросы «перезаписать файлы», чтобы сохранить существующие файлы нетронутыми. Похоже, что это также воссоздает отладчик «Docker Compose» по умолчанию в Visual Studio.
В идеале я хочу, чтобы мои товарищи по команде могли клонировать решение и просто запускать его. Есть ли рекомендации по наилучшей практике для передачи этих настроек Visual Studio в систему управления версиями, чтобы другим членам команды не приходилось выполнять действия вручную для запуска проекта?
Это ошибка с инструментами Visual Studio Docker? Мне кажется, что если решение содержит проект docker-compose, Visual Studio должна знать, как с ним обращаться.