我仔细查看了日志,发现Docker Pipeline插件通过将UID作为命令行参数传递来自动告诉容器与主机上登录的同一用户一起运行:
$ docker run -t -d -u 1005:1005 [...]
我决定通过
cat/etc/passwd在每种环境中运行来检查主机和容器中存在哪些用户。当然,每个用户列表都不相同。1005是主机上的jenkins用户,但是该UID在容器中不存在。为了解决这个问题,我
/etc/passwd在旋转主机时将其从主机安装到了容器上:
node { step([$class: 'WsCleanup']) docker.image('node').inside('-v /etc/passwd:/etc/passwd') { stage('SSH') { sshagent (credentials: [ 'MY_KEY_UUID' ]) { sh "ssh -vvv -o StrictHostKeyChecking=no ubuntu@example.org uname -a" } } }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)