我试图根据存储在SCM中的dockerfile在容器内运行管道。
下面是我的管道的开头:
pipeline {
agent {
dockerfile {
dir '002_CICD'
}
}
....
当我尝试运行管道时,出现以下错误:
+ docker build -t 66dae53280bc29614c69b505e48424c25e689b91 -f 002_CICD/Dockerfile 002_CICD
/var/jenkins_home/workspace/AMP_app_docker_pipe@tmp/durable-cbf3977b/script.sh: 1:
/var/jenkins_home/workspace/AMP_app_docker_pipe@tmp/durable-cbf3977b/script.sh: docker: not found
要运行docker容器,我安装了以下Jenkins插件:
我还在远程服务器上启用了docker API,连接看起来还不错。
我想念什么? 非常感谢
答案 0 :(得分:1)
您要实现的是docker设置中的docker(相当多用于CI流程)
由于您的詹金斯人在容器中运行,因此需要在Dockerfile中安装一个docker(cli / client),因此找不到错误docker。
此docker客户端将使用主机的docker引擎执行所有操作
关于错误
无法通过unix:///var/run/docker.sock连接到Docker守护程序
如果jenkins用户无权访问主机/var/run/docker.sock,则会发生这种情况。检查此文件在主机上的权限以及与jenkins一起运行的用户的关联权限