Docker webpack开发服务器

3
在Docker容器中运行webpack dev server时,我收到以下错误消息。
Error: listen EADDRNOTAVAIL 192.168.99.100:8080

192.168.99.100是运行在我Windows系统中的Oracle Virtual Box中的Docker主机的IP地址。 以下是我的webpack.config.js文件中的主机部分:

devServer: {
    contentBase: './dist',
    host:"192.168.99.100"
  }

如果我不指定主机,webpack开发服务器会运行在http://localhost:8080,当我尝试使用http://192.168.99.100:8080时无法访问。是否需要进行明确的设置才能使其工作? 下面是Docker文件:
FROM node:4.2

RUN mkdir -p /usr/src/app
ADD . /usr/src/app

 WORKDIR /usr/src/app
RUN npm install

RUN npm build
EXPOSE 8080

ENTRYPOINT ["npm", "run", "webserver"]

我正在使用以下命令运行容器:

docker run [options] image_name

docker run -d -p 8080:8080 mynodeimg

1
请发布您用于创建和运行容器的命令,如果可能,请附上您的Dockerfile。您可以尝试将主机设置为0.0.0.0。并且你需要使用docker run -p 8080:8080映射8080端口。 - Xiongbing Jin
4
尝试使用 0.0.0.0。Docker 容器有一个内部 IP 地址,通常为 172.x.x.x,它无法监听 Docker Toolbox 的外部 IP 地址,这可能是您看到错误消息的原因。 - Xiongbing Jin
1个回答

0
如果您希望您的服务器可以从外部访问,请按照以下方式指定:
 "start": "webpack-dev-server --host 0.0.0.0",

or in webpack.config.js

 devServer: {
    host: '0.0.0.0'
  }

webpack serve --host 0.0.0.0


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接