我需要在管道中运行 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?
答案 0 :(得分:0)
但有相同的问题:“泊坞窗:未找到”
这表明您的Jenkins从属服务器(运行管道脚本的服务器)没有docker
命令行工具。这取决于您的分布,但是在我的情况下,我通过更改build-slave / pipeline-runner创建步骤来解决此问题,包括:
yum install -y docker-client
请注意,您仍然需要Cloudbees泊坞窗插件(提供docker.build()
和docker.image()
之类的东西),因为它将这些漂亮的管道指令转换为Shell命令。