Jenkins在Windows容器中调用Docker命令的配置方法?-灵析社区

ciiiiinema

### 请问运行在容器内的Jenkins如何配置可以调用docker命令?宿主机是Windows系统。 首先排除制作一个带有docker的Jenkins的镜像,这个办法有点老套。 尝试了一下docker in docker,但是貌似这个方案是基于Linux的。 在Windows上docker本身已经运行于wsl这类的虚拟机中了,如何再映射卷呢? 尝试过docker in docker,但是-v /var/run/docker.sock:/var/run/docker.sock这种命令在Windows的docker无法使用。

阅读量:174

点赞量:0

问AI
该问题已解决。 Windows下也可使用docker in docker的方案。 Windows下的docker和Linux的配置略有不同。 1. 首先docker-desktop必须按照如下配置。当前的docker必须挂载(是否应该用挂载)到已有的一个wsl发行版上。 "1706093458024.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241013/3e927c53029ac774a0937df3bfb993ad.png) 该配置导致的区别是在WSL系统中是否可以直接执行docker命令,并且具有docker相关的目录。 此处开启后,即可使用-v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker这种挂载卷的参数来让容器访问宿主机的docker命令。 2. 其次是针对Windows系统,仅挂载-v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker两个路径是不够的,还需要挂载docker-cli的路径,在WSL中的路径为/usr/bin/com.docker.cli。 即增加挂载-v /usr/bin/com.docker.cli:/usr/bin/com.docker.cli 完成以上两个配置可以在Windows下的docker中允许Jenkins,同时Jenkins中也可以执行宿主机的docker命令,目前看此种方式没有任何权限问题