【发布时间】:2021-11-07 07:34:53
【问题描述】:
我正在尝试迁移一些基于 Webpack 的项目以在 docker 容器中运行,但在配置网络时遇到了一些问题。
- 我们的 WebPack devServer 配置如下:
{
host: 'dev.ng.com',
port: 4000,
compress: true,
disableHostCheck: true
}
在/etc/hosts 文件中我们有以下记录:
127.0.0.1 dev.ng.com
一切正常。
- 当我在 docker 中运行它时,我收到了
EADDRNOTAVAIL错误,直到我将以下几行添加到我的docker-compose.yml:
extra_hosts:
- "dev.ng.com:127.0.0.1"
但现在我在 docker 应用程序中的应用程序无法从主机获得。
相关的docker-compose.yml部分如下:
gui-client:
image: "gui-client"
ports:
- "4000:4000"
extra_hosts:
- "dev.ng.com:127.0.0.1"
如果我将 Webpack 的 host: 'dev.ng.com' 更改为 host:'0.0.0.0',它可以正常工作,但我不想更改 Webpack 配置并按原样运行。
我对 docker 网络内部的了解受限于我猜想所有从主机到 docker 容器的入站连接都应该重定向到 dev.ng.com:4000,而现在它们重定向到 0.0.0.0:4000,可以实现吗?
【问题讨论】:
标签: docker webpack networking docker-compose docker-networking