Jenkins管道无法终止docker容器

时间:2017-12-28 13:52:18

标签: docker jenkins jenkins-pipeline

我有一个执行某些任务的docker容器,并在Jenkins管道中安排如下:

pipeline {
    stages {
        stage('1') {
            steps {
                sh "docker run -i --rm test"
            }
        }
    }
}

如果管道以某种方式中止,例如超时或手动,容器将不会停止并保持活动状态。

如何将其配置为与管道一起终止?

Docker version 17.06-ce

1 个答案:

答案 0 :(得分:2)

嗨Elessar你可以配置一个"总是"在后期步骤。主要是它将在内部运行命令,而不依赖于构建取消,失败或成功。

pipeline {
    agent any
    stages {
        stage('Example') {
            steps {
                 sh "docker run -i --rm test"
            }
        }
    }
    post { 
        always { 
            sh "docker stop test" //or something similar 
        }
    }
}

我希望这能解决你的问题!