首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins管道无法登录到docker hub

Jenkins管道无法登录到docker hub
EN

Stack Overflow用户
提问于 2020-04-27 22:47:48
回答 2查看 1.3K关注 0票数 0

我正在尝试使用管道来运行一些东西,当我开始运行我的管道时,它无法登录到docker。

奇怪的是,我可以登录到机器本身,但当我运行管道时,is失败了,出现了这个奇怪的错误:

代码语言:javascript
复制
Started by user admin
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] stage
[Pipeline] { (Front-end)
[Pipeline] node
Running on test-env in /var/www/test-env/workspace/client-e2e
[Pipeline] {
[Pipeline] withEnv
[Pipeline] {
[Pipeline] withDockerRegistry
Using the existing docker config file.Removing blacklisted property: auths$ docker login -u ***** -p ******** https://hub.docker.com/?namespace=******
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: login attempt to https://hub.docker.com/v2/ failed with status: 404 Not Found
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // stage
[Pipeline] End of Pipeline
ERROR: docker login failed
Finished: FAILURE

我不知道为什么它要执行登录,而这个图像对每个人都是公开的。有人能帮帮我吗?

这是管道本身:

代码语言:javascript
复制
pipeline {
    agent none
    stages {
        stage('Front-end') {
            agent {
                docker { 
                    image 'node:8-alpine'
                    label "test-env"

                }
            }
            steps {
                sh 'node --version'
            }
        }
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-27 23:04:13

好的,过了一段时间,我发现它就像做这个一样简单

代码语言:javascript
复制
pipeline {

    agent none
    stages {
        stage('Front-end') {
            agent {
                docker { 
                    image 'node:8-alpine'
                    registryUrl 'https://index.docker.io/v1/'
                    label "test-env"

                }
            }
            steps {
                sh 'node --version'
            }
        }
    }
}

这是aded:registryUrl 'https://index.docker.io/v1/'

票数 0
EN

Stack Overflow用户

发布于 2020-04-27 23:02:11

您可以在以下位置尝试使用Credentials Binding Plugin

steps { sh 'node --version' }

您可以执行以下操作:

代码语言:javascript
复制
withCredentials([string(credentialsId: 'mytoken', variable: 'TOKEN')]) {
sh '''
  docker login -u '<your_user>' -p '<$TOKEN>' 
  node --version
'''

}

这里有一个例子:https://issues.jenkins-ci.org/browse/JENKINS-41051

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61461577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档