首页 > 解决方案 > 在启动期间将本地文件添加到 docker 容器(不是构建阶段)

问题描述

我们有一个包含敏感信息的项目,在构建过程中无法将其添加到 docker 映像中。

Dockerfile 是:

FROM openjdk:11.0.12-jre-slim
COPY target/security.jar /security.jar
ENTRYPOINT ["java","-jar","/security.jar"]

在项目安全中,我们有带有 *.cer 文件的certs文件夹。

security/
   src/ -- source files
   certs/ -- .cer files
      test1.cer
      test2.cer
   Dockerfile

我们不能将此文件包含到图像中,因为它是敏感信息。我们尝试在启动容器期间这样做:

docker run --entrypoint /bin/sh security -c 'cp certs/* certs/ && java -jar /security.jar' security:latest

但是得到了错误:

cp: cannot stat 'certs/*': No such file or directory

有没有什么办法解决这一问题?

标签: javadocker

解决方案


也许需要查看 Docker 卷?一些喜欢:

docker run <your_args> -v certs:/certs security:latest

推荐阅读