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手动跳转也不起作用。
抓住任何其他可能的想法。
感谢
答
你暴露你的容器相同的端口8080。这是行不通的。因为两个服务使用相同的端口。尝试使用另一个端口的开发。 如果您尚未指定,您还可以在docker-compose文件中设置环境及其变量。应该明确指定环境来检测你正在运行你的应用程序的哪个env
+0
谢谢,我遇到的所有码头都有它,但都无济于事,但让我认为它可能是webpack。谷歌在这个词中引用了我需要传递给webpack配置的其他东西,这些东西解决了它。谢谢 – RemeJuan
为什么你在docker文件中暴露多个端口 –
Prod 5000;开发8080 – RemeJuan