【问题标题】:Can't connect to ASP.NET core through docker无法通过 docker 连接到 ASP.NET 核心
【发布时间】: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


    【解决方案1】:

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

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

    它成功了:\

    【讨论】:

    • 试了两个小时,谢谢你救了我接下来的两个!
    • 我也很难学到这一点。根据run,在图像名称之后输入的任何内容都与cmd相关。
    猜你喜欢
    • 1970-01-01
    • 2020-09-29
    • 1970-01-01
    • 2022-08-16
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 2020-11-20
    相关资源
    最近更新 更多