在Jenkins文件中使用docker命令会产生不一致的结果(有时有效,有时找不到) 管道{ 任何代理人 舞台{ 阶段('BuildImage'){ 台阶{ withCredentials([字符串(credentialId:'docker_pw',变量:'docker_pw')){ “嘘” docker登录-u…-p${docker_PW} docker-v ''' } } } ...

在Jenkins文件中使用docker命令会产生不一致的结果(有时有效,有时找不到) 管道{ 任何代理人 舞台{ 阶段('BuildImage'){ 台阶{ withCredentials([字符串(credentialId:'docker_pw',变量:'docker_pw')){ “嘘” docker登录-u…-p${docker_PW} docker-v ''' } } } ...,docker,jenkins,jenkins-pipeline,Docker,Jenkins,Jenkins Pipeline,我正在使用Jenkinsfile构建一个Jenkins管道。我正在尝试在Jenkinsfile中构建一个docker映像,并将其推送到dockerhub 这有时有效,但有时我会失败,并显示消息第2行:docker:command not found 这对我来说没有意义,因为它有时会起作用 我必须使用其他代理或其他什么吗?这可能是因为作业试图在未安装docker的代理上运行。最好的解决方案是使用标签。您可以在安装docker的代理上添加标签。这将有助于确定该代理的用途。然后,您可以使用代理在Pil

我正在使用
Jenkinsfile
构建一个Jenkins管道。我正在尝试在Jenkinsfile中构建一个docker映像,并将其推送到dockerhub

这有时有效,但有时我会失败,并显示消息
第2行:docker:command not found

这对我来说没有意义,因为它有时会起作用


我必须使用其他代理或其他什么吗?

这可能是因为作业试图在未安装docker的代理上运行。最好的解决方案是使用标签。您可以在安装docker的代理上添加标签。这将有助于确定该代理的用途。然后,您可以使用
代理在Pilleline中指定{label'docker'}

所有詹金斯奴隶都安装了docker吗?
pipeline {
    agent any
    stages {
        stage('BuildImage') {
            steps {
                withCredentials([string(credentialsId: 'docker_pw', variable: 'DOCKER_PW')]){
                    sh '''
                        docker login -u ... -p ${DOCKER_PW} <dockerhub>
                        docker -v
                    '''
                }
            }
        }
...