我如何将身份验证凭据添加到 jenkins 中的 docker 管道?

how do i add authentication credentials to docker pipeline in jenkins?

我很熟悉如何使用 docker 管道在 jenkins 的 docker 容器中完成 运行 作业,但到目前为止它对 public docker 不需要任何身份验证凭据即可从注册表中提取图像的图像

https://jenkins.io/doc/book/pipeline/docker/

所以假设我有这个例子

pipeline {
    agent {
        docker { 
                 image 'private.docker.local/node:7-alpine' 
                 args '--net=host  -u root'
               }
    }
    stages {
        stage('Test') {
            steps {
                sh 'node --version'
            }
        }
    }
}

当我尝试时出现错误

+ docker pull private.docker.local/node:7-alpine

Error response from daemon: Get https://private.docker.local/v2/node:7-alpine/manifests/7-alpine: denied: access forbidden

有人知道如何添加身份验证以便 docker 管道可以登录到 docker 注册表以拉取图像吗?

居然终于在这里找到了答案https://jenkins.io/doc/book/pipeline/syntax/#agent

pipeline {
    agent {
        docker { 
                 alwaysPull true
                 image 'private.docker.local/node:7-alpine' 
                 args '--net=host  -u root'
                 registryUrl 'https://private.docker.local/'
                 registryCredentialsId 'registry-credential'
               }
    }
    stages {
        stage('Test') {
            steps {
                sh 'node --version'
            }
        }
    }
}

享受