我需要在管道中运行一个 docker-container。 "Inject environment variables to the build process" -> "Properties
Content"
我的问题是,Jenkins容器内部没有,没有docker.sock 可用。而且实际上没有机会得到它。
但是我发现使用此选项的docker有一些工作:
并配置以下内容:DOCKER_HOST=tcp://<ip>:<port>
DOCKER_CERT_PATH=/var/jenkins_home/certs
以我的理解,这等效于docker.sock并可用作插件,不是吗?
但是如何在(多)管道项目中使用它?
我尝试在我的Note中使用此Block:environment {
DOCKER_HOST = 'tcp://<ip>:<port>'
DOCKER_CERT_PATH = '/var/jenkins_home/certs'
}
但是遇到了同样的问题:“docker:not found”
我可能有一个逻辑上的谬误。希望有人能帮忙。
否则可以创建包括docker.sock的 Jenkins -奴隶吗?
最佳答案
But got same issue: "docker: not found"
这表明您的Jenkins从属服务器(运行管道脚本的一个服务器)没有
docker
命令行工具。这取决于您的分布,但是在我的情况下,我通过更改build-slave / pipeline-runner创建步骤来解决此问题,包括:yum install -y docker-client
请注意,对于Cloudbees docker 插件(提供诸如
docker.build()
和docker.image()
之类的东西),您仍然需要它,因为它可以将这些不错的管道指令转换为Shell命令。
关于docker - Jenkins 管道DOCKER_HOST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47270663/