詹金斯管道错误-“没有这样的容器”

时间:2020-09-24 16:56:22

标签: docker jenkins jenkins-pipeline docker-in-docker

尝试在Jenkins声明性管道中运行构建时收到“ No Such Container”错误。这是一个Docker-in-Docker设置,但在管道的其他阶段运行没有问题。当我创建一个共享库并将某些代码移入该库时,便开始出现此问题。我已经包括了相关的管道阶段和共享库的测试代码。

我尝试从代理程序部分删除docker块,并且共享库测试代码有效,因此我知道这与Docker-in-Docker有关。对于如何进一步调试此技巧或其他技巧的任何帮助,将不胜感激。

Jenkins控制台日志

Status: Downloaded newer image for <redacted>/alpine-tools:3.12
[Pipeline] withDockerContainer
docker-1365477f6a6210 on <redacted>-swarm-lon02 seems to be running inside container 1948d9ca656dce596c4df9c27687978677b76969d3db76bac30ef985321e1cbb
but /home/jenkins/workspace/_<redacted>_jenkins-ETDAR3LXDVCPZD7IMTPE244P7DI3KIALGXBFQ3LOTB3VZFVBJLDA could not be found among []
but /home/jenkins/workspace/_<redacted>_jenkins-ETDAR3LXDVCPZD7IMTPE244P7DI3KIALGXBFQ3LOTB3VZFVBJLDA@tmp could not be found among []
$ docker run -t -d -u 1000:1000 -u root -w /home/jenkins/workspace/_<redacted>_jenkins-ETDAR3LXDVCPZD7IMTPE244P7DI3KIALGXBFQ3LOTB3VZFVBJLDA -v /home/jenkins/workspace/_<redacted>_jenkins-ETDAR3LXDVCPZD7IMTPE244P7DI3KIALGXBFQ3LOTB3VZFVBJLDA:/home/jenkins/workspace/_<redacted>_jenkins-ETDAR3LXDVCPZD7IMTPE244P7DI3KIALGXBFQ3LOTB3VZFVBJLDA:rw,z -v /home/jenkins/workspace/_<redacted>_jenkins-ETDAR3LXDVCPZD7IMTPE244P7DI3KIALGXBFQ3LOTB3VZFVBJLDA@tmp:/home/jenkins/workspace/_<redacted>_jenkins-ETDAR3LXDVCPZD7IMTPE244P7DI3KIALGXBFQ3LOTB3VZFVBJLDA@tmp:rw,z -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** <redacted>/alpine-tools:3.12 cat
$ docker top 84284972066c3cae9c5f8482beaabdc4146f22e4877b0323814f7d377c8babc2 -eo pid,comm
[Pipeline] {
[Pipeline] script
[Pipeline] {
[Pipeline] node
Running on docker-13654f88a1b20d on <redacted>-swarm-lon02 in /home/jenkins/workspace/_<redacted>_jenkins-ETDAR3LXDVCPZD7IMTPE244P7DI3KIALGXBFQ3LOTB3VZFVBJLDA
[Pipeline] {
[Pipeline] sh
[_<redacted>_jenkins-ETDAR3LXDVCPZD7IMTPE244P7DI3KIALGXBFQ3LOTB3VZFVBJLDA] Running shell script
Error: No such container: 84284972066c3cae9c5f8482beaabdc4146f22e4877b0323814f7d377c8babc2 *** HERE ***
process apparently never started in /home/jenkins/workspace/_<redacted>_jenkins-ETDAR3LXDVCPZD7IMTPE244P7DI3KIALGXBFQ3LOTB3VZFVBJLDA@tmp/durable-03c48bbd
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // script
[Pipeline] }
$ docker stop --time=1 84284972066c3cae9c5f8482beaabdc4146f22e4877b0323814f7d377c8babc2
$ docker rm -f 84284972066c3cae9c5f8482beaabdc4146f22e4877b0323814f7d377c8babc2
[Pipeline] // withDockerContainer
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] End of Pipeline
ERROR: script returned exit code -2
Finished: FAILURE

Jenkins共享库

文件名:deployApp.groovy

def call(Map config) {
    node {
      sh 'echo SUCCESS'
    }
}

Jenkins管线阶段

stage('Deploy') {
  agent {
    docker {
      registryCredentialsId '<redacted>'
      registryUrl '<redacted>'
      image '<redacted>/alpine-tools:3.12'
      args '-u root'
    }
  }
  when {
    beforeAgent true
    expression { env.BRANCH_NAME ==~ /(master|release|jenkins)/ }
  }
  steps {
    script {
      deployApp deploy:true
    }
  }
}

0 个答案:

没有答案