Docker撰写不暴露网络端口

时间:2017-10-20 06:08:11

标签: docker docker-compose

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

网络处于桥接状态,开发人员是唯一一个无法正常工作的人,旋转生产工作正常

  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

我已经淘汰了操作系统作为原因,我们在2台运行最新CE的Windows 10机器上进行了测试,与mac相同,我的机器正在运行ubuntu和prod适用于所有,dev没有,但在日志中我看到webpack旋转起来,听8080端口。

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

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

由于

1 个答案:

答案 0 :(得分:1)

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