我设置了这个撰写文件,当我做了所有事情都按预期工作时,但上周当我们试图将其交给其他开发人员用于开发时,它不再暴露网络和生命我不知道为什么,大量的谷歌搜索没有产生任何结果。
网络处于桥接状态,开发人员是唯一一个无法正常工作的人,旋转生产工作正常
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手动跳转...也不起作用。
抓住任何其他可能的想法。
由于
答案 0 :(得分:1)
您正在将容器暴露给相同的端口8080.这不会起作用。因为两个服务使用相同的端口。尝试使用另一个端口进行开发。 如果尚未指定,还可以在docker-compose文件中设置环境及其变量。应明确指定环境以检测运行应用程序的环境