是否可以在 run
操作期间向 docker 容器提供文件以在容器启动期间使用?
本质上,我想在 jenkins docker 中提供一个类似于 plugins.txt
的 txt 文件。到tomcat服务器。该文件应包含要在容器启动期间下载的 .war 和 .jar 文件的名称和版本 (name:version
)。我希望此设置能够更灵活地为客户提供定制的容器,而不是拥有客户特定的图像。但对我来说最大的问题是:
- 我可以在容器启动时提供这样的文件吗?
- 我应该如何处理文件和/或容器的版本控制,以便能够检查客户特定容器包含的内容?
- 还有什么我应该考虑的吗?
最佳答案
您可以将单个文件作为卷装载到容器中:
docker run -v `pwd`/conf.txt:/app/conf.txt my_app
这需要在 docker 主机本身上运行,或者在 Windows/MacOS 上的用户目录下运行。您还可以在 docker 中创建一个命名卷,您可以在其中存储这些文件并通过临时容器进行更新。
对于这些卷安装,您确实需要注意权限,容器内的 uid 可能与您在主机上的 uid 不匹配。您还可以通过将简单的 :ro
附加到卷挂载来挂载只读文件。
关于docker - 将文件添加到 docker 容器以在启动期间使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39414965/