我正在尝试通过以下命令以jenkins2用户身份运行Jenkins映像:
docker run -d \
--name $cname \
--restart=always \
-v jenkins-home2:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-p 8080:8080 \
-p 50000:50000 \
--user $(id -u jenkins2) \
--network $network \
jenkins/jenkins:lts
到目前为止,传递用户ID可以与其他容器一起使用。但是在Jenkins中,maven无法正确获取用户的主目录以访问本地存储库(〜/ .m2 / )。而是使用 ./?/。m2 / 目录。
从挖掘中我发现Java将系统道具设置为user.name =?和user.home =?
如果在运行docker行中未使用用户,则将这两个道具正确设置为user.name = jenkins和user.home = / var / jenkins_home
在我开始尝试手动覆盖容器内的java proprs之前,我想问一下是否有更合适的解决方案?