Jenkins流水线中,报下面错误:

/var/jenkins_home/workspace/aliyun_test@tmp/durable-5dcf5622/script.sh: 1: /var/jenkins_home/workspace/aliyun_test@tmp/durable-5dcf5622/script.sh: docker: not found

问题整理:Jenkins报错:/var/jenkins_home/workspace/aliyun_test@tmp/...script.sh: 1: /var/jenkins_ho_重新启动
环境:jenkins以容器方式部署在centos7系统上

解决:
如果是单个节点的jenkins以容器方式部署的,报上面错误是因为流水线是在容器内部运行的,容器内部没有docker命令。

解决方法大致有两种:
1、添加jenkins的slave节点,slave节点未运行在docker中,可直接在该主机安装docker
2、在jenkins单节点上映射宿主机的docker.sock和客户端命令

以下使用第二种最简单的方式解决
添加容器的映射文件

-v /var/run/docker.sock:/var/run/docker.sock
-v /usr/bin/docker:/usr/bin/docker

问题整理:Jenkins报错:/var/jenkins_home/workspace/aliyun_test@tmp/...script.sh: 1: /var/jenkins_ho_重新启动_02
如果报:/var/run/docker.sock permission denied 这是因为权限问题

chmod 777 /var/run/docker.sock

重新启动jenkins容器解决上面报错