嗨,人们长期以来一直在关注这个问题并需要一些帮助。
我已经制作了一个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:端口访问它们没有问题,但我无法连接到红宝石服务器。
有人可以帮帮我吗?
答案 0 :(得分:1)
愚蠢的错误参数是错误的顺序
docker run -it -p 8444:8444 <image_name:tag>
它起作用了:\