相关疑难解决方法(0)

读取docker设置的react中的环境变量

我正在使用docker构建我的react应用程序并将其部署在nginx中。

我在docker-compose.yml中设置了环境变量

version: '2'
services:
  nginx:
    container_name: ui
    environment:
      - HOST_IP_ADDRESS= xxx.xxx.xx.xx
    build:
      context: nginx/
    ports:
      - "80:80"
Run Code Online (Sandbox Code Playgroud)

创建docker容器后,可以看到容器中的变量hi何时出现echo

但是,当我尝试使用react读取它时process.env.HOST_IP_ADDRESS,正在记录它undefined

我在某处的博客中读到,只能在生产环境中访问env变量。由于我正在构建应用程序并将其部署在nginx中,因此我应该能够访问它,但是由于某些原因,我无法阅读它。

我在这里做错什么吗?如果是这样,请让我知道解决方案。我不是反应专家,我只是在管理别人的代码。

更新:

Dockerfile如下所示:

FROM node:8 as ui-builder

WORKDIR /home/ui

COPY helloworld .

RUN npm install

RUN npm run build

FROM nginx
COPY --from=ui-builder /home/ui/build /usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]
Run Code Online (Sandbox Code Playgroud)

React Component片段如下:

import React, { Component } from 'react';

class HelloWorld extends Component {
  render() {
    console.log(process.env.HOST_IP_ADDRESS);
    return (
      <div className="helloContainer"> …
Run Code Online (Sandbox Code Playgroud)

docker reactjs

4
推荐指数
2
解决办法
5498
查看次数

标签 统计

docker ×1

reactjs ×1