我有一个反应应用程序。所以我使用下面的 Dockerfile 来构建 docker 镜像
# pull official base image
FROM node:12.13.0-alpine AS build
# STAGE 1
WORKDIR /app
COPY package.json ./
RUN yarn install
COPY . /app
RUN yarn build
# STAGE 2
FROM nginx:stable-alpine
COPY --from=build /app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
后端在 x.x.x.x:4004 上运行。 现在我正在运行我的反应应用程序。 服务器调用不起作用,显示 404。 如何将后端服务器连接到 Nginx 服务器。任何帮助表示赞赏!
答案 0 :(得分:0)
查询docker容器的IP地址docker inspect (containerNameOrId)
在您的 dockerfile 中,您需要公开两个容器的端口以便相互通信。
例如,
EXPOSE 80/tcp
如果它在 docker 之外,那么您需要发布端口。使用
启动容器时docker run -p 80:80 (other parameters)
上面的例子已经将容器端口的80端口映射到主机端口80
从docker容器主机上可以ping通你的nginx服务器,从nginx服务器到docker容器主机可以ping通。如果不能,请检查防火墙设置。