【问题标题】:Connecting webpack-dev-server inside a Docker container from the host从主机连接 Docker 容器内的 webpack-dev-server
【发布时间】:2016-02-01 10:07:15
【问题描述】:

我正在 Docker 容器(节点:4.2.1)内运行 webpack-dev-server 应用程序。如果我尝试从容器内连接到服务器端口 - 它工作正常。但是,尝试从主机连接它会导致重置连接(当然,端口已发布)。我该如何解决?

【问题讨论】:

  • 你能告诉我们你的 Dockerfile 和你的 docker run 命令吗?
  • 我没有 Dockerfile,我是从节点手动运行的:4.2.1 镜像:docker -ti -p 8080:8080 node:4.2.1 bash
  • 你想连接什么IP?默认情况下,Docker 将您的端口绑定到由 0.0.0.0 (INADDR_ANY) 表示的所有可用接口。如果您希望它绑定到本地主机,请执行 docker -ti -p 127.0.0.1:8080 node:4.2.1 bash

标签: docker webpack


【解决方案1】:

这个问题不是 docker 问题。

将 --host=0.0.0.0 添加到您的 webpack 命令中。

您需要像这样连接到您的页面:

http://host:port/webpack-dev-server/index.html

iframe mode

【讨论】:

  • 这里的 Webpack 是一个网络服务器。默认绑定到 localhost (127.0.0.1)。因此,当您尝试从主机连接到容器时,webpack 会拒绝连接,因为它不是本地的。绑定到所有 ip 就可以了。
  • 天哪,谢谢!这是一个救生员。我花了一天半的时间试图让我的 MacOS 浏览器连接到在 ubuntu docker 容器上运行的 webpack-dev-server 应用程序。 (普利拓斯先锋计划)
【解决方案2】:

您需要确保:

【讨论】:

  • 这正是我正在做的。我正在尝试从运行 Docker 的计算机访问容器,它们之间没有虚拟机。
  • @user1442554 那么你的主机是 Linux 机器,而不是 Mac 或 Windows?
  • @user1442554 并且端口已映射,我想?
  • 映射是什么意思?该端口在容器内是开放的(我可以访问它)、暴露并发布。当我尝试从容器外部访问它时,它会重置。如果应用程序未运行,则拒绝连接。
  • @avishorp 我的意思是确实已发布 (-p x:y)
猜你喜欢
  • 2018-10-25
  • 2017-02-28
  • 1970-01-01
  • 1970-01-01
  • 2022-06-24
  • 1970-01-01
  • 2016-01-25
  • 2018-01-09
相关资源
最近更新 更多