无法通过 docker 连接到 ASP.NET 核心

Can't connect to ASP.NET core through docker

大家好,关注这个问题已经太久了,需要一些帮助。

我制作了一个 ASP.NET 核心网站,没什么特别的,只是模板与 VS 2017 (v 1.1) 一起使用。我使用 dotnet core cli 发布网站并使用此 dockerfile:

构建图像
FROM microsoft/dotnet:1.1-runtime
COPY /Publish /dotnetapp
WORKDIR /dotnetapp

EXPOSE 8444
ENTRYPOINT ["dotnet", "Inqu.dll"]

当我 运行 创建图像时:

docker run -it <image_name:tag> -p 8444:8444

图像启动等待请求:

Hosting environment: Production
Content root path: /dotnetapp
Now listening on: http://*:8444
Application started. Press Ctrl+C to shut down.

但是我无法访问该站点并在尝试访问该站点时得到一个 ERR_CONNECTION_REFUSED http://local-ip:8444/

我已将 WebHostBuild 修改为:

        var host = new WebHostBuilder()
            .UseKestrel()
            .UseUrls("http://*:8444")
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseStartup<Startup>()
            .UseApplicationInsights()
            .Build();

        host.Run();

所以应该监听8444端口,我也试过设置:

ENV ASPNETCORE_URLS http://*:8444

在 Dockerfile 中,但没有帮助。


我在 docker up 和 运行ning(gogs 和 mysql)中还有一些其他图像,我可以使用我的本地 ip:port 毫无问题地访问它们,但是我无法连接到 kestrel 服务器。

有人可以帮帮我吗?

参数顺序错误是个愚蠢的错误

docker run -it -p 8444:8444 <image_name:tag>

并且有效:\