【问题标题】:Resource cannot be found error when accessing a page in Docker Container访问 Docker 容器中的页面时找不到资源错误
【发布时间】:2019-07-01 05:39:51
【问题描述】:

我在 Visual Studio 中创建了一个带有 Docker 支持 (Windows) 的 asp.net webform 项目。当我使用 Visual Studio 运行项目时,页面如下所示

Visual Studio 创建一个我使用命令看到的 docker 映像

docker images

见下图(webapplication3)

现在我通过命令运行另一个 Image (webapplication3) 实例

Docker run webapplication3:dev

我可以看到容器正在运行

Docker ps

见下图

但是现在当我使用 ip http://172.17.183.118/PageA.aspx 访问这个新的运行容器时
它没有出现,见下图(我从 docker inspect 命令中获取了 IP 172.17.183.118,所以它是正确的。

谁能告诉我为什么我无法查看该页面?为什么提示“找不到资源”错误?

【问题讨论】:

  • 您可以尝试浏览地址http://localhost:80/PageA.aspx
  • 我试过localhost:62774/PageA.aspx,它工作正常。感谢查尔斯指出相关方向。我无法理解端口。现在假设我必须从局域网或互联网访问这个网站,我还需要使用像 62774 这样的端口号吗?如何从 LAN 或 INTERNET 访问此网页?

标签: docker containers


【解决方案1】:

当你运行一个 Docker 容器默认值时,容器将使用一个内部 IP 地址和一个暴露端口映射本地机器端口,并且 IP 地址将通过与本地机器关联的 docker 桥传到互联网网络接口。

当您访问本地机器内的容器时,您只需要访问带有端口显示您的本地主机。在您的问题中,您需要访问地址http://localhost:62774/PageA.aspx。如果要从 Internet 访问容器,则应使用端口访问本地计算机的 IP 地址。对你来说,就是地址http://your-local-machine-public-ip:62774/PageA.aspx

您可以从Docker Network 获得更多详细信息。另外,我建议您最好使用您计划的特殊端口运行容器,就像docker run -d -p nodePort:containerPort --name containerName yourImage

【讨论】:

    猜你喜欢
    • 2020-07-16
    • 1970-01-01
    • 2022-01-25
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 2011-04-15
    • 1970-01-01
    相关资源
    最近更新 更多