繁体   English   中英

Docker Compose 不暴露网络端口

[英]Docker Compose not exposing network port

我设置了这个 compose 文件,当我做的一切都按预期工作时,但上周当我们试图将它实际移交给其他开发人员用于开发时,它不再暴露网络,并且在我的生活中我做不知道为什么,大量的谷歌搜索没有产生任何结果。

网络在桥上,只有 dev 不工作,启动 prod 工作正常

  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 可以正常工作,开发人员没有,但在日志中我看到 webpack 正在旋转up,监听 8080 端口。

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

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

谢谢

您将容器暴露在同一个端口 8080 上。那是行不通的。 因为两个服务使用相同的端口。 尝试使用另一个端口进行开发。 如果您没有指定,您也可以在 docker-compose 文件中设置环境及其变量。 应明确指定环境以检测您正在运行应用程序的环境

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM