Docker Compose不公开网络端口

问题描述:

我设置了这个组合文件,当我做所有事情都按预期工作时,但上周我们试图将它交给其他开发人员用于开发时,它不再公开网络和我的生活,我不知道为什么,大量的谷歌搜索没有取得任何结果。Docker Compose不公开网络端口

网络是桥梁和DEV是唯一一个没有工作,旋转起来督促工作正常

version: '2' 
    services: 

    dev: 
     build: 
     context: ./ 
     volumes: 
     - ./:/app 
     ports: 
     - "8080:8080" 
     command: yarn start 

    prod: 
     build: 
     context: ./ 
     ports: 
     - "8080:5000" 
     command: node express.js 

下面是相关dockerfile

FROM remejuan/node-yarn:8.5.0 

# Override the base log level (info). 
ENV NPM_CONFIG_LOGLEVEL warn 

# Copy all local files into the image. 
RUN mkdir -p /app 
WORKDIR /app 
COPY ./ ./ 

# Install all dependencies of the current project. 
RUN yarn install --pure-lockfile 
RUN yarn cache clean 

# Install and configure `serve`. 
EXPOSE 8080 
EXPOSE 5000 

我已经消除了OS作为因为我们已经在2台Windows 10机器上测试了它,运行最新的CE,与mac相同,我的机器运行的是ubuntu,prod可以运行在所有的机器上,但dev在日志中没有,但是在日志中,我看到webpack在8080端口上运行。

使用docker run -ti -p 8080:8080手动跳转也不起作用。

抓住任何其他可能的想法。

感谢

+0

为什么你在docker文件中暴露多个端口 –

+0

Prod 5000;开发8080 – RemeJuan

你暴露你的容器相同的端口8080。这是行不通的。因为两个服务使用相同的端口。尝试使用另一个端口的开发。 如果您尚未指定,您还可以在docker-compose文件中设置环境及其变量。应该明确指定环境来检测你正在运行你的应用程序的哪个env

+0

谢谢,我遇到的所有码头都有它,但都无济于事,但让我认为它可能是webpack。谷歌在这个词中引用了我需要传递给webpack配置的其他东西,这些东西解决了它。谢谢 – RemeJuan