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

时间:2017-03-16 03:23:27

标签: docker asp.net-core kestrel-http-server

嗨,人们长期以来一直在关注这个问题并需要一些帮助。

我已经制作了一个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中运行了一些其他图像(gogs和mysql),我可以使用本地ip:端口访问它们没有问题,但我无法连接到红宝石服务器。

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

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

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

它起作用了:\