Я упомянул VS Docker Tools в своем вопросе, и это не то, о чем я спрашиваю.

я есть собственные написанные от руки файлы Dockerfile / docker-compose. Я запускаю контейнеры из командной строки. Теперь я хочу подключить VS2017 (не VSCode) к своему приложению в контейнере Docker (на основе Linux). Кажется, это должно быть довольно легкой задачей, но я не могу найти информацию о том, как это сделать.

Я прочитал руководствоhttps://github.com/Microsoft/MIEngine/wiki/Offroad-Debugging-of-.NET-Core-on-Linux---OSX-from-Visual-Studio внимательно. Сначала это выглядело так, как мне нужно - описание удаленной отладки приложения netcore, работающего в Linux. Но он рассказывает только часть истории - как отлаживать через SSH. И просто упоминает Docker, но ничего не говорит о том, как удаленно отлаживать приложение внутри Docker.
Я полагаю, что здесь не должно быть особых подробностей о Docker, он просто запускает vsdbg внутри Docker и присоединяется здесь. Но очевидно, что это очень распространенный случай использования dev, и странно, что нет хорошей информации по этому поводу.

Конечно, естьVS Инструменты для Docker используя который мы можем легко выполнить отладку приложения внутри контейнера Docker. Но для меня VS Tools для Docker просто ужасны. Да, сначала они работают без проблем. Но абсолютно неясно, что происходит под капотом.

Кажется, что мы можем просто посмотреть, что делает VSTools для Docker, и попытаться воспроизвести это. Но это не очень очевидно. Он добавляет дополнительный «отладочный» файл yaml в docker-compose (docker-compose.vs.debug.g.yml) который должен делать магию отладки. Я привязал добавить этот yaml к своему написанному от руки docker-compose, запустить Dockers, но как подключить VS? Я получаю IP-адрес своего контейнера, пытался найти удаленный отладчик по этому IP-адресу и 4022, который VS ничего не видит. Также подозрительно, что debug.yaml, созданный Tools for Docker, не имеет ничего общего с выставлением порта 4022, как это можно было ожидать.

Постскриптум нашел хорошее руководство, но на контейнерах Windows -https://github.com/riskfirst/debugging-aspnet-core-windows-docker

Ответы на вопрос(1)

Ваш ответ на вопрос