docker - Jenkins 管道无法终止 docker 容器

标签 docker jenkins jenkins-pipeline

我有一个 docker 容器,它执行一些任务并在 Jenkins 管道内进行调度,如下所示:

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

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

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

Docker 版本 17.06-ce

最佳答案

您好,Elessar,您可以在后续步骤中配置“始终”。主要是它会始终运行里面的命令,而不依赖于构建取消、失败或成功。

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

希望这能解决您的问题!

关于docker - Jenkins 管道无法终止 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48008730/

相关文章:

reactjs - 构建 Docker 镜像时已安装 Typescript 时要求安装

docker - 如何使用jenkins的远程docker服务器?

c# - 如何将多个项目复制到单个 Docker 容器中

jenkins - 无法将用户添加到 Jenkins (Hudson)

jenkins - 如何在 Jenkins 中显示单个测试通过/失败的结果?

shell - Jenkins Pipeline 脚本转义连字符或打印引号

intellij-idea - 智能 IDEA。检查没有扩展名的文件的语法

docker - 如何在docker(工具箱)中启动现有的mysql容器?

jenkins - 远程更新 Jenkins "System Message"字符串的方法?

docker - 在非 root 用户作为 Jenkinsfile 代理的 docker 容器中使用 docker 命令(托管)