Я сейчас пытаюсь сделать многошаговую сборку приложения 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
Мой файл для создания докеров раздела реакции выглядит примерно так:
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. Что я делаю не так?