【发布时间】:2021-02-05 10:56:37
【问题描述】:
我试图实现的目标是构建一个使用来自主机的环境变量的 docker 映像(其中包含一个 react 应用程序)。
计划的工作流程:
- 在本地构建 docker 镜像
- 上传 docker 镜像
- 调用命令
docker-compose up
我希望系统的环境变量REACT_APP_SOME_ENV_VARIABLE(图像所在的位置)可供 React 应用使用。
目前的解决方案:
// App.js
function App() {
return (
<p>SOME_ENV_VARIABLE = {process.env.REACT_APP_SOME_ENV_VARIABLE}</p>
);
}
# Dockerfile
FROM node:13.12.0-alpine as build-step
# Install the app
RUN mkdir /app
WORKDIR /app
COPY package.json /app
RUN npm install --silent
# Build the app
COPY . /app
RUN npm run-script build
# Create nginx server and copy build there
FROM nginx:1.19-alpine
COPY --from=build-step /app/build /usr/share/nginx/html
# docker-compose.yml
version: '3.5'
services:
react-env:
image: react-env
ports:
- 80:80/tcp
environment:
- REACT_APP_SOME_ENV_VARIABLE=FOO
我做错了什么,我该如何解决?
【问题讨论】:
-
有什么问题?
标签: reactjs docker nginx docker-compose