Docker-在构建期间可访问配置文件

时间:2018-11-26 14:34:08

标签: docker ssl docker-compose ssl-certificate dockerfile

我正在寻找以下问题的解决方案: 我们的团队在本地使用docker-compose在本地进行常规的3个阶段(本地,分段,生产),我想传递一个文件(.pem),该文件可以在Dockerfile中访问,因此我可以运行npm config set cafile,产品或分期不需要。

这是我的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 :(得分:0)

尝试一下

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

调用