我一直在使用 Docker 开发一个 ASP.NET 应用程序,并且通过 Visual Studio 启动它可以正常工作!但是,如果我尝试从命令行(或 Powershell 或 VS 的 CLI/Powershell)运行任何内容,它将运行,但是生成的容器拒绝所有连接。
我正在 Windows 10 NT 上安装了 Docker Desktop,尝试运行 ubuntu:18.04 镜像(我也尝试过 Alpine,ubuntu:16.04)。
复现步骤:
- 在 Visual Studio 中创建默认的 ASP.NET 应用程序 - 添加 Docker 支持 - 使用选项“Docker”运行 - 打开浏览器,导航到 localhost:[YourPort] - 成功!按预期工作。
然后,使用相同的镜像或已下载的镜像(我尝试了 dockersamples/static-site 确认它不是特定项目的问题):
- 打开 CMD - 在不同的端口上运行 docker run -p [HostPort]:[ContainerPort] [SameImageVSUses:tag] - 查看 docker ps 显示两个容器并排运行 - 打开浏览器(Firefox),获取错误
"The connection was reset"
更新:
我更改了 ASP.NET 应用程序的 program 类,使用 0.0.0.0 而不是 localhost,我认为这是必要的,但现在我看到
"Secure Connection Failed" "PR_END_OF_FILE_ERROR_"
如果我 curl localhost:[MyPort],我得到 (52) empty reply from server。
/更新
好吧,也许 Visual Studio 做了更多的事情我不知道。
稍微研究一下就会发现,是的,它会添加大量的额外参数!使用复制/粘贴的命令,Visual Studio 给了我... 精确相同的错误。
澄清一下,容器仍然运行,我可以 ssh 进入或 docker inspect 它们(实际上,VS 和 CMD 启动的容器的 docker inspect 除了绑定到的网络地址之外完全相同)。我从构建和启动容器的过程中没有收到任何错误消息,因此如果出现故障,则会静默地出现。
我对 Docker 相对较新,但似乎找不到解决方法,甚至找不到原因。 Visual Studio 在做什么?我尝试了我所知道的一切,我甚至不得不清除我的机器(与此无关),在重新安装所有内容后,完全相同的情况再次发生。我的直觉告诉我这是我的问题,但是 VS 启动的应该也会失败,对吧?
我正在 Windows 10 NT 上安装了 Docker Desktop,尝试运行 ubuntu:18.04 镜像(我也尝试过 Alpine,ubuntu:16.04)。
复现步骤:
- 在 Visual Studio 中创建默认的 ASP.NET 应用程序 - 添加 Docker 支持 - 使用选项“Docker”运行 - 打开浏览器,导航到 localhost:[YourPort] - 成功!按预期工作。
然后,使用相同的镜像或已下载的镜像(我尝试了 dockersamples/static-site 确认它不是特定项目的问题):
- 打开 CMD - 在不同的端口上运行 docker run -p [HostPort]:[ContainerPort] [SameImageVSUses:tag] - 查看 docker ps 显示两个容器并排运行 - 打开浏览器(Firefox),获取错误
"The connection was reset"
更新:
我更改了 ASP.NET 应用程序的 program 类,使用 0.0.0.0 而不是 localhost,我认为这是必要的,但现在我看到
"Secure Connection Failed" "PR_END_OF_FILE_ERROR_"
如果我 curl localhost:[MyPort],我得到 (52) empty reply from server。
/更新
好吧,也许 Visual Studio 做了更多的事情我不知道。
稍微研究一下就会发现,是的,它会添加大量的额外参数!使用复制/粘贴的命令,Visual Studio 给了我... 精确相同的错误。
澄清一下,容器仍然运行,我可以 ssh 进入或 docker inspect 它们(实际上,VS 和 CMD 启动的容器的 docker inspect 除了绑定到的网络地址之外完全相同)。我从构建和启动容器的过程中没有收到任何错误消息,因此如果出现故障,则会静默地出现。
我对 Docker 相对较新,但似乎找不到解决方法,甚至找不到原因。 Visual Studio 在做什么?我尝试了我所知道的一切,我甚至不得不清除我的机器(与此无关),在重新安装所有内容后,完全相同的情况再次发生。我的直觉告诉我这是我的问题,但是 VS 启动的应该也会失败,对吧?
我找不到任何关于如何翻转魔法开关的信息,如果我在运行CLI程序时,无论我对dockerfile或命令参数做什么都似乎不起作用。我从未使用过VirtualBox或Docker Toolbox,这不应该是因为旧程序造成的奇怪配置问题,因为从Visual Studio启动时它可以正常工作!啊!
我希望这确实是我没有打开的魔法开关,否则我对我正在使用的东西非常基础的理解有问题。