Как я могу по желанию добавить файл блокировки в контейнер докера? - PullRequest
2 голосов
/ 21 марта 2019

Я пытаюсь создать образ докера, который при сборке дополнительно добавляет пряжу (или файл блокировки npm).Я хотел бы добавить это явно, но также не потерпеть неудачу при сборке, если она не включена.

Намерение состоит в том, чтобы уважать его, если размещаемое приложение использует детерминированный процесс сборки, но не заставляет его.Я также хотел бы позволить приложению использовать этот контейнер для начальной загрузки себя в детерминированные сборки.

Вот что я начинаю с:

FROM node:8.12.0-alpine
USER node
WORKDIR ${my_workdir}
COPY --chown=node:node src/yarn.lock ./
COPY --chown=node:node src/package*.json ./
RUN yarn && yarn cache clean
COPY --chown=node:node src/ .
CMD []

Есть ли команда или опция, которую я могуиспользовать вместо копии, которая не будет работать, если файл src/yarn.lock не находится в файловой системе?

1 Ответ

1 голос
/ 22 марта 2019

Вы можете попробовать добавить yarn.lock как yarn.lock* вместе с другим файлом, чтобы копия COPY не потерпела неудачу. Что-то в этом духе должно сработать:

FROM node:8.12.0-alpine
USER node
WORKDIR ${my_workdir}
COPY --chown=node:node src/package*.json src/yarn.lock* ./
RUN yarn && yarn cache clean
COPY --chown=node:node src/ .
CMD []

Надеюсь, это поможет!

...