Nginx:如何在 react dockerized 镜像中连接后端端口

时间:2021-06-15 10:52:42

标签: docker nginx

我有一个反应应用程序。所以我使用下面的 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 服务器。任何帮助表示赞赏!

1 个答案:

答案 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通。如果不能,请检查防火墙设置。