如何在Windows 10上公开Docker中的端口?

时间:2017-04-20 09:17:11

标签: node.js docker docker-compose webpack-dev-server

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

我正在尝试使用docker-compose运行一个简单的节点应用,并且能够在docker中运行时动态更新代码。我跟着this website构建了它,我的代码可以找到here

当我在本地运行代码时导航到localhost:8080时,我会看到我的网页。当我通过Docker运行它时,我得到了#34;这个页面没有工作"从我的网络浏览器(相同的网址)。我确保在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

1 个答案:

答案 0 :(得分:0)

对于公开端口,尝试更改行

ports:
      - 8080:8080

ports:
      - "8080:8080"
<{1>}文件中的

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

检查是否使用&#34; NetworkSettings&#34;中的命令docker-compose.yml调用了正确的IP检查。并查看IPAddress。