我正在寻找以下问题的解决方案:
我们的团队在本地使用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。
感谢您的帮助!
答案 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