Создать файл .env для образа докера - PullRequest
1 голос
/ 01 апреля 2019

Я хочу сгенерировать файл .env и отправить его в образ докера во время сборки докера с помощью Dockerfile. Проблема в том, что файл .env не копируется в образ докера. Я пытался добавить COPY .env в /website/.env, но он не может его найти. Я выполняю скрипт nodejs во время процесса сборки, который получает envs из AWS, а затем создает файл .env.

FROM node:10.15.3-alpine

ARG SERVER_ENV

# Create app directory

RUN mkdir /website
WORKDIR /website

COPY . /website/
RUN node aws ${SERVER_ENV}
COPY .env /website/.env
COPY package.json yarn.lock ./
RUN ls -al
RUN pwd

# Install Yarn
RUN npm install -g yarn@1.15.2

# Install app dependencies
RUN yarn install

# Build source files
RUN yarn run build

UPDATE Я наконец нашел способ это исправить. Я разделяю задачу в моем Dockerfile следующим образом:

FROM mhart/alpine-node:10 as env
ARG SERVER_ENV

WORKDIR /usr/src
COPY aws.js /usr/src
RUN yarn add aws-sdk
COPY . .
RUN node aws ${SERVER_ENV}

FROM mhart/alpine-node:10 as base
WORKDIR /usr/src
COPY package.json yarn.lock /usr/src/
RUN yarn install
COPY . .
COPY --from=env /usr/src .
RUN yarn build


FROM mhart/alpine-node:10
WORKDIR /usr/src
COPY --from=base /usr/src .

1 Ответ

0 голосов
/ 01 апреля 2019

Может быть, у вас есть файл .dockerignore, который блокирует копирование файла .env в образ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...