【发布时间】:2017-03-16 03:23:27
【问题描述】:
大家好,这个问题已经看太久了,需要一些帮助。
我已经创建了一个 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:port 毫无问题地访问它们,但我无法连接到 kestrel 服务器。
有人可以帮帮我吗?
【问题讨论】:
标签: docker asp.net-core kestrel-http-server