【发布时间】:2018-12-11 10:04:59
【问题描述】:
我目前正在尝试对 CRA 应用程序进行多步构建。我的 dockerfile 如下所示
FROM node:10-alpine
WORKDIR /usr/app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:1.15
COPY --from=0 /usr/app/nginx/default.conf /etc/nginx/conf.d/default.conf
COPY --from=0 /usr/app/build /usr/share/nginx/html
EXPOSE 6000
我的 react 部分的 docker compose 文件如下所示
web_front:
build:
context: Web Front-CRA
ports:
- "${WEB_FRONT_PORT}:6000"
env_file:
- .env
volumes:
- /usr/app/node_modules
- ./Web Front-CRA:/usr/app
当我尝试使用docker-compose up --build 运行它时,我无法读取NODE_PATH=./src/ 环境文件(所有环境变量实际上都在RUN npm run build 阶段。
但是,如果我只是像下面这样更改 dockerfile 来运行开发环境,它可以完美运行 - 所有 env 文件都已通过
FROM node:10-alpine
# work directory
WORKDIR /usr/app
# Copy dependencies first for effective caching
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 6000
CMD ["npm", "run", "start"]
我目前正在使用 ubuntu 18 和 docker-compose v1.23.2 和 Docker 18.09.0。我做错了什么?
【问题讨论】:
标签: reactjs docker docker-compose create-react-app