Я следовал указаниям Microsoft относительно использования инструментов Docker в Visual Studio, как описано в следующих ссылках:
У меня есть решение, которое содержит мой проект веб-программы и проект docker-compose. Когда я отлаживаю программу, она запускает экземпляр отладчика под названием «Docker Compose», который был создан Visual Studio, когда я добавил проект docker-compose. Вот скриншот панели инструментов отладки:
Когда я проверяю это в управлении исходным кодом, файлы docker-compose включаются в git, как и ожидалось:
- docker-compose.dcproj
- docker-compose.override.yml
- докер-compose.yml
- .dockerignore
Однако, когда я заново клонирую репозиторий и запускаю заново, отладчик Docker Compose недоступен. Вместо этого есть отладчик Docker, который, по-видимому, игнорирует проект docker-compose при запуске.
При запуске этого отладчика он выполняет сборку только для базового контейнера докера, но не для компоновки docker, что делает его неработоспособным для локального тестирования / отладки.
Единственный способ вернуть отладчик Docker Compose - это выполнить одно из следующих действий:
- Проверьте папку ".vs" в системе контроля версий. YUCK! - Не вариант .
OR
- После клонирования и после открытия решения в Visual Studio:
- «Удалить» проект «docker-compose» из решения. НЕ удаляйте файлы с диска.
- Повторно добавьте «Поддержка контейнера оркестровки» в проект. Это воссоздает проект docker-compose в решении. Ответьте «Нет» на все запросы «перезаписать файлы», чтобы сохранить существующие файлы нетронутыми. Это также воссоздает отладчик «Docker Compose» по умолчанию в Visual Studio.
В идеале я хочу, чтобы мои товарищи по команде могли клонировать решение и просто запустить его. Есть ли рекомендация для получения этих настроек Visual Studio в системе контроля версий, чтобы другим членам команды не приходилось выполнять ручные действия для запуска проекта?
Это ошибка в инструментах Docker для Visual Studio? Мне кажется, что если решение содержит проект docker-compose, Visual Studio должна знать, как с ним справиться.