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以容器方式部署在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
如果报:/var/run/docker.sock permission denied
这是因为权限问题
chmod 777 /var/run/docker.sock
重新启动jenkins容器解决上面报错