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

标签 docker ssl docker-compose ssl-certificate dockerfile

我正在寻找以下问题的解决方案: 我们的团队在本地有常规的 3 个阶段(本地、暂存、生产)我们正在使用 docker-compose ,我想传递一个可以在 Dockerfile 中访问的文件 (.pem),这样我就可以运行 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 demon,它会自动将其插入/etc/ssl/certs。

感谢您的帮助!

最佳答案

试试这个

docker 文件

ARG PEM_PATH
COPY $PEM_PATH /src/

编写文件

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

PEM_PATH=xxx.pem docker-compose build调用它

关于Docker - 在构建期间可访问的配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53483357/

相关文章:

docker - 在另一个容器的本地主机上发布端口

具有 docker 所有权问题的 PostgreSQL

docker - Docker镜像已经推送问题了吗?

php - alpine linux 输出错误 “base64: unrecognized option: w”

docker - Nano和Midnight Commander在Windows版Docker上不起作用

Apache、SSL 客户端证书、LDAP 授权

Java SSLServerSocket 提供了错误的证书

docker - 在容器的 docker 日志中查找字符串

tomcat - 保护 REST Jersey

c# - 如何在Docker Compose中等待MSSQL?