如何在Windows 10中暴露Docker中的端口?

我在Windows 10 Pro机器上安装了正确安装的Docker CE副本。

我正在尝试使用docker-compose来运行一个简单的节点应用程序,并且能够在docker中运行时dynamic更新代码。 我跟着这个网站来build立它,我的代码可以在这里find。

当我在localhost:8080运行代码时导航到localhost:8080时,我得到我的网页。 当我通过Docker运行它时,从我的Web浏览器(相同的URL)中得到“这个页面不工作”。 我已经确定在Docker中运行之前停止在本地运行,以便端口不被越过。

我的Dockerfile:

 FROM node:6.10.2 RUN useradd --user-group --create-home --shell /bin/false app ENV HOME=/home/app COPY package.json npm-shrinkwrap.json $HOME/diet-program/ RUN chown -R app:app $HOME/* USER app WORKDIR $HOME/diet-program RUN npm install EXPOSE 8080 CMD ["npm", "run", "dev"] 

我的docker-compose.yml:

 version: '2' services: diet-program: build: . ports: - "8080:8080" volumes: - .:/home/app/diet-program - /home/app/diet-program/node_modules 

dev命令映射到: webpack-dev-server --content-base src --inline --hot

为暴露端口尝试改变线

 ports: - 8080:8080 

 ports: - "8080:8080" 

docker-compose.yml文件中

有关在此处公开端口的更多详细信息: https : //docs.docker.com/compose/compose-file/#ports

要检查是否使用命令docker inspect <container_name>调用了正确的IP检查,请在“NetworkSettings”中docker inspect <container_name>并查看IPAddress。