Настроенное приложение React на узле — Как копировать файлы?

#node.js #reactjs #docker

#node.js #reactjs #docker

Вопрос:

Итак, у меня есть эти переменные env, определяющие файлы SSL, и я хочу скопировать их в свой контейнер, почему-то они не копируются по умолчанию, даже если они находятся в папке моего проекта.

Вы указали SSL_CRT_FILE в своем env, но файл «/usr/src/app/server.cert» не может быть найден

Dockerfile

 FROM node:10

MAINTAINER Kuba Wasilewski <jakub.wasilewski@sprint.pl>
 
WORKDIR /usr/src/app
 
COPY package*.json ./
 
RUN npm install
 
ARG REACT_APP_API_URL

ENV REACT_APP_API_URL ${REACT_APP_API_URL}

COPY . .

ENV HTTPS=true
# these are the files that are not copied by default
ENV SSL_CRT_FILE=server.cert
ENV SSL_KEY_FILE=server.key
 
EXPOSE 3000

CMD [ "npm", "start" ]
 

Комментарии:

1. Как копировать файлы? с COPY помощью, вы создали сертификаты?

2. server.cert и server.key существуют в вашем проекте?

3. Да на оба вопроса.

Ответ №1:

Поскольку вы указали рабочий каталог как /usr/src/app , команды КОПИРОВАНИЯ должны копировать любые файлы проекта в это местоположение.

 FROM node:10

MAINTAINER Kuba Wasilewski <jakub.wasilewski@sprint.pl>
 
WORKDIR /usr/src/app
 
COPY package*.json /usr/src/app
 
RUN npm install
 
ARG REACT_APP_API_URL

ENV REACT_APP_API_URL ${REACT_APP_API_URL}

COPY . /usr/src/app

ENV HTTPS=true
# these are the files that are not copied by default
ENV SSL_CRT_FILE=server.cert
ENV SSL_KEY_FILE=server.key
 
EXPOSE 3000

CMD [ "npm", "start" ]