java - 在启动期间将本地文件添加到 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
有没有什么办法解决这一问题?
解决方案
也许需要查看 Docker 卷?一些喜欢:
docker run <your_args> -v certs:/certs security:latest
推荐阅读
- r - 基于变量的ggplot颜色轴标签
- javascript - React/JS - 数据建模
- javascript - 使用 razor 属性填充对象
- node.js - 向 MS Teams 频道发送主动自适应卡片消息
- c# - 在 Razor 视图中使用 @Html.Action 成功进入新控制器,但执行控制器后不会进入新控制器的视图
- java - Jython ImportError: No module named gargoylesoftware, no resolution found
- apache-kafka - kafka __consumer_offsets 主题日志的大小迅速增长,减少了磁盘空间
- django - Django REST Framework - 更改 ID 格式
- sql - SQL数据库中输入小于0时如何回滚?
- php - 如何在 7 天内更改图标,否则 PHP 会更改另一个图标