Docker - файл конфигурации, доступный во время сборки - PullRequest
0 голосов
/ 26 ноября 2018

Я ищу решение для следующей проблемы: у нашей команды есть 3 регулярных этапа (локальный, промежуточный, продакшн), локально мы используем docker-compose, я хочу передать файл (.pem), который будет доступенв Dockerfile, чтобы я мог запустить npm config set cafile, в prod или staging это не нужно.

это мой Dockerfile

FROM node
ARG COMPOSE_MODE
COPY ./package.json ./crt.pem /src/

#if COMPOSE_MODE exsist then set cert
RUN if ! [ "x$COMPOSE_MODE" = "x" ] ; then npm config set cafile /src/crt.pem ; fi

Однако для этого требуется доставить crt.pemкаждый проект в любой среде.Это способ передать файл в docker compose, который будет доступен во время сборки.Или же передайте ssl сертификат локальному демону Docker, и он автоматически вставит его в /etc/ssl/certs.

Спасибо за помощь!

1 Ответ

0 голосов
/ 26 ноября 2018

Попробуйте это

Dockerfile

ARG PEM_PATH
COPY $PEM_PATH /src/

составьте файл

services:
  node:
    build:
      context: folder
      args:
      - PEM_PATH=${PEM_PATH}

Назовите его с помощью PEM_PATH=xxx.pem docker-compose build

...