在我的“管理Jenkins”>“全局工具配置”中,我已经配置了一个名为“docker”的工具,如下所示:
然后我在我的jenkinsfile文件中只有以下内容,没有其他内容:
我收到了这样的错误信息:“无法连接到Docker守护进程。此主机上运行着Docker守护进程吗?”。
以下是完整的控制台日志:
如何确保Docker守护程序/服务在管道到达运行Docker命令的行之前已经运行/启动?是否有其他本地的Docker构建步骤插件可以实现我在这里所做的事情?例如docker ps -a或docker images或docker build -t?一些假设:假设我的选择节点尚未在主机上安装/运行Docker / Docker-engine。这就是工具命令的目的,如果节点上没有安装,则自动安装Docker。
name: docker
install automatically: CHECKED
docker version: latest
然后我在我的jenkinsfile文件中只有以下内容,没有其他内容:
node {
DOCKER_HOME = tool "docker"
sh """
echo $DOCKER_HOME
ls $DOCKER_HOME/bin/
$DOCKER_HOME/bin/docker images
$DOCKER_HOME/bin/docker ps -a
"""
}
我收到了这样的错误信息:“无法连接到Docker守护进程。此主机上运行着Docker守护进程吗?”。
以下是完整的控制台日志:
Started by user Syed Rakib Al Hasan
[Pipeline] node
Running on master in /var/jenkins_home/workspace/helloDocker
[Pipeline] {
[Pipeline] tool
[Pipeline] sh
[helloDocker] Running shell script
+ echo /var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/docker
/var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/docker
+ ls /var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/docker/bin/
docker
+ /var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/docker/bin/docker images
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE
如何确保Docker守护程序/服务在管道到达运行Docker命令的行之前已经运行/启动?是否有其他本地的Docker构建步骤插件可以实现我在这里所做的事情?例如docker ps -a或docker images或docker build -t?一些假设:假设我的选择节点尚未在主机上安装/运行Docker / Docker-engine。这就是工具命令的目的,如果节点上没有安装,则自动安装Docker。
sudo service docker start
无法生效,所以我没有这个选项。 - Rakibsvendowideit
在这个页面中提到的方法吗:https://forums.docker.com/t/using-docker-in-a-dockerized-jenkins-container/322/3? - Rakib