我一直在使用 Docker 开发 ASP.NET 应用程序,当我通过 Visual Studio 启动它时,它运行得非常好!但是,如果我尝试从命令行(或 powershell,或 VS 的 CLI/Powershell)运行任何内容,它会运行,但它生成的容器会拒绝所有连接。
我在安装了 Docker Desktop 的 Windows 10 NT 上尝试运行 ubuntu:18.04 映像(我也尝试过 Alpine、ubuntu:16.04)。
重现步骤:
- 在 Visual Studio 中创建默认的 ASP.NET 应用程序
- 添加 Docker 支持
- 选择“Docker”运行
-打开浏览器,导航到本地主机:[YourPort]
-成功!按预期工作。
然后,使用相同的图像或下载的图像(我试图dockersamples/static-site确认这不是特定项目的问题):
-打开CMD
docker run -p [HostPort]:[ContainerPort] [SameImageVSUses:tag]-在不同的端口上运行
-看到docker ps显示两个容器彼此相邻运行
- 打开浏览器(Firefox),出现错误
The connection was reset
更新
我更改了 ASP.NET 应用程序的程序类以使用 0.0.0.0 而不是 localhost,我相信这是必要的,但现在我明白了
Secure Connection Failed
PR_END_OF_FILE_ERROR_
如果我curl localhost:[MyPort],我得到(52) empty reply from server …