詹金斯管道DOCKER_HOST

时间:2017-11-13 17:59:03

标签: docker jenkins jenkins-pipeline

我需要在管道中运行 docker-container 我的问题是,Jenkins容器中有没有docker.sock 。实际上没有机会得到它。

但我发现一些使用docker的作业有这个选项:

  

“将环境变量注入构建过程” - > “属性   内容“

以下配置:

DOCKER_HOST=tcp://<ip>:<port>
DOCKER_CERT_PATH=/var/jenkins_home/certs

根据我的理解,这相当于docker.sock并且可以作为插件使用,不是吗?

但是我如何在(多)管道项目中使用它? 我已尝试在我的注释中使用此块:

environment {
    DOCKER_HOST         = 'tcp://<ip>:<port>'
    DOCKER_CERT_PATH    = '/var/jenkins_home/certs'
}

但同样的问题:“docker:not found” 我可能有一个合乎逻辑的谬误。希望有人可以提供帮助。

否则可以创建一个包含docker.sock的jenkins-slave?

1 个答案:

答案 0 :(得分:0)

  

但有相同的问题:“泊坞窗:未找到”

这表明您的Jenkins从属服务器(运行管道脚本的服务器)没有docker命令行工具。这取决于您的分布,但是在我的情况下,我通过更改build-slave / pipeline-runner创建步骤来解决此问题,包括:

yum install -y docker-client

请注意,您仍然需要Cloudbees泊坞窗插件(提供docker.build()docker.image()之类的东西),因为它将这些漂亮的管道指令转换为Shell命令。