Docker for windows启动Jenkins,然后在jenkins中定义pipeline中使用agent 为docker的问题

shoppo0505 2023-05-26 08:29:19

环境的为windows10,安装了docker for windows,然后安装了jenkins,我在jenkins中定义了一个pipeline流水线,在流水线中定义agent为docker,这个时候出现了错误:/var/jenkins_home/workspace/pipeline-docker-container@tmp/durable-68323e86/script.sh: 1: docker: not found

pipeline定义如下:

pipeline {
   agent {
      docker {
         image 'node:14-alpine' // Docker 镜像名称和标签
         args '--network host' // 可选择性添加一个或多个 Docker 参数
         reuseNode true // 可选择性重用先前使用过的节点
      }
   }

   stages {
      stage('Build') {
         steps {
            sh 'npm install'
         }
      }

      stage('Test') {
         steps {
            sh 'npm test'
            junit 'test-results/**/*.xml'
         }
      }

      stage('Deploy') {
         steps {
            sh 'npm run deploy'
         }
      }
   }
}

查下来就是没有将宿主机的docker.sock映射到jenkins中。我看有解决方法是做docker.sock的映射,就是在docker run的时候添加参数:、

-v /var/run/docker.sock:/var/run/docker.sock,可是我现在是在windows下面,没有/var/run/docker.sock

请问这个问题该如何解决?

...全文
202 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shoppo0505 2023-07-05
  • 打赏
  • 举报
回复

问题解决了,启动container的时候,添加 --privileged=true 的参数就可以了。

xingtianzhilu 2023-12-01
  • 举报
回复
@shoppo0505 老哥你还记得这个参数是加在哪啊?
shoppo0505 2023-12-13
  • 举报
回复
@xingtianzhilu 这个就是你运行docker run的时候添加的参数
shoppo0505 2023-12-13
  • 举报
回复
@xingtianzhilu 这个就是你运行docker run的时候添加的参数
1条回复

1,167

社区成员

发帖
与我相关
我的任务
社区描述
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。
社区管理员
  • Docker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧