Я пытаюсь запустить образ Jenkins как пользователь jenkins2 в следующей команде:
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
Передача идентификатора пользователя до сих пор работала с другими контейнерами.Но в Jenkins maven не может правильно получить домашний каталог пользователя для доступа к локальному репозиторию ( ~ / .m2 / ).Вместо этого он использует каталог . /? /. M2 / .
Из копания битов я обнаружил, что в java системные реквизиты установлены в user.name =?и user.home =?
Если пользователь не используется в строке запуска запуска, тогда эти два реквизита правильно установлены на user.name = jenkins и user.home = / var / jenkins_home
BeforeЯ начинаю пытаться вручную переопределить java proprs внутри контейнера, я хотел бы спросить, есть ли более подходящее решение проблемы?