Я преобразовал консольное приложение .NET Core в приложение Dockerized, используя встроенные в Visual Studio 2017 функции управления контейнером. VS создал Dockerfile и файл docker-compose. Я могу успешно запустить приложение в контейнере.
Проблема в том, что в некоторых случаях приложение требует ввода на консоли (например, оно задает вопрос, и пользователь должен ответить «да» или «нет»). Приложение использует Console.ReadKey()
или Console.ReadLine()
в зависимости от ситуации.
При традиционном запуске консольного приложения .NET Core появляется окно терминала, которое отображает выходные данные приложения и принимает ввод. Однако когда я переключился на Docker, вывод консоли теперь появляется на одной из панелей отладки в нижней части экрана, и я не могу предоставить какой-либо ввод.
Приложение не перестает работать, оно просто блокируется на неопределенный срок по команде Console.ReadLine()
.
Есть ли способ заставить Visual Studio запускать контейнер в традиционном терминале, который может принимать пользовательский ввод?