我正在尝试使用Openshift 3.9中的管道构建,我需要使用docker CLI。我不知道如何在管道中使用“ docker”命令。
我已经在声明性管道中尝试了以下代码,但收到“ docker:not found”
pipeline {
agent {
docker { image 'node:7-alpine' }
}
stages {
stage('Test') {
steps {
sh 'node --version'
}
}
}
}
代码是从此处复制的:
https://jenkins.io/doc/book/pipeline/docker/
我还尝试了它的脚本版本:
node {
/* Requires the Docker Pipeline plugin to be installed */
docker.image('node:7-alpine').inside {
stage('Test') {
sh 'node --version'
}
}
}
但是出现相同的错误:“ docker:找不到命令”
已安装docker管道插件(版本:1.17) Openshift版本:3.9
有什么建议吗?谢谢!
答案 0 :(得分:0)
似乎是在运行管道的节点上没有安装docker
。您需要先安装它。如果没有预先配置,就无法在安装Docker Plugin之后立即使用docker
命令:
默认情况下,Docker Pipeline插件将与本地Docker守护进程通信,该守护进程通常通过/var/run/docker.sock访问。
答案 1 :(得分:0)
Openshift提供了三种类型的詹金斯slave images
他们两个都没有安装docker,并相信我that's not a good idea。
在Openshift中,Jenkins的运行方式为Pod(在内部运行docker容器),并且您希望将docker放入容器中。因此,如果您想使Docker可用,
但是,如果确实需要,请执行上述操作,仅需谨慎一点;)