gpt4 book ai didi

docker - 如何使用容器编排为 Visual Studio .NET Core 项目提供控制台输入?

转载 作者:行者123 更新时间:2023-12-05 07:22:03 25 4
gpt4 key购买 nike

我已使用 Visual Studio 2017 的内置容器编排功能将 .NET Core 控制台应用程序转换为 Dockerized 应用程序。 VS 创建了一个 Dockerfile 和一个 docker-compose 文件。我能够在容器内成功运行应用程序。

问题在于,在某些情况下,应用程序需要在控制台输入(例如,它提出一个问题,用户必须回答是或否)。该应用根据需要使用 Console.ReadKey()Console.ReadLine()

传统上运行 .NET Core 控制台应用程序时,会弹出一个终端窗口,显示应用程序的输出并接受输入。但是,当我切换到 Docker 时,控制台输出现在出现在屏幕底部的调试面板之一中,我无法提供任何输入。

应用程序不会运行失败,它只是无限期地阻塞在 Console.ReadLine() 命令处。

有没有办法让 Visual Studio 在可以接受用户输入的传统终端中运行容器?

最佳答案

Kahbazi 是对的,您需要使用 -i(交互模式)和 -t(tty 模式)运行 docker 容器。例如:docker run -i -t --name containerName imageName

确保不要在分离模式下运行它,否则不会提示您输入,因为容器将在后台运行。

我找不到通过 Visual Studio 执行此操作的方法,因此我改为通过命令行使用 docker。

关于docker - 如何使用容器编排为 Visual Studio .NET Core 项目提供控制台输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56655543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com