我们有一个工具,需要克隆几个Git存储库以汇总文档数据。我们希望将该工具放在Docker容器中,以便在本地和Jenkins轻松运行它,并实现可重复性。
Git存储库托管在需要使用SSH密钥进行身份验证的专用服务器上。因此,Docker容器必须以某种方式获得对运行该容器的用户的SSH密钥的访问权限。
我们有一个约束列表:
Dockerfile不会启用可重现性,而已经生成的Docker映像可以root用户身份运行-v,-u,...)问题:如果可能的话,我们如何实现?
有关:
root)我正在尝试使用 docker-maven 插件构建 docker 映像,并计划使用 jenkins 执行 mvn 命令。我将 jenkins.war 部署在 tomcat 实例上,而不是作为非 root 用户运行的独立应用程序。问题是 docker 需要以 root 用户身份运行,因此 maven 命令需要以 root 用户身份运行,因此 jenkins/tomcat 需要以 root 用户身份运行,这不是一个好的做法(尽管我的非 root 用户是也是 sudoer 所以我想不会太重要)。
所以底线,我看到两种解决方案:要么以非root用户身份运行docker(并且需要如何执行此操作的帮助),要么需要以root身份运行jenkins(并且不确定如何实现这一点,因为我更改了环境变量 /config 和仍然没有切换到root)。
对于选择哪种解决方案以及如何实施有什么建议吗?