Docker Desktop安装Jenkins并且配置docker环境
前提Windows已安装好Docker Desktop
然后通过cmd进行启动Jenkins:
docker run --privileged -d -p 9090:8080 -p 50000:50000 -v D:\jenkins\jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v D:\Docker\resources\bin\docker.exe:/usr/bin/docker -u root --restart=always --name=jenkins jenkins/jenkins
其中Windows安装的docker路径:
C:\Users\admin>where docker D:\Docker\resources\bin\docker D:\Docker\resources\bin\docker.exe
启动该Jenkins服务后,验证docker命令不行:
D:\Docker\resources\bin>docker --version
Docker version 27.3.1, build ce12230
D:\Docker\resources\bin>docker run --privileged -d -p 9090:8080 -p 50000:50000 -v D:\jenkins\jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v "D:\Docker\resources\bin\docker.exe":/usr/bin/docker -u root --restart=always --name=jenkins jenkins/jenkins
c6208f951e996c9f1c9de71c29b1a167b9163218ee153774778ba300eff43a80
D:\Docker\resources\bin>docker exec -it jenkins /bin/bash
root@c6208f951e99:/# /usr/bin/docker version
<3>WSL (448 - ) ERROR: UtilGetPpid:1293: Failed to parse: /proc/442/stat, content: 442 (bash) S 0 442 442 34817 448 4194560 796 0 20 0 0 2 0 0 20 0 1 0 676714 4722688 816 18446744073709551615 109053322903552 109053323692957 140729348495376 0 0 0 65536 3686404 1266761467 1 0 0 17 20 0 0 0 0 0 109053323926256 109053323974500 109053410594816 140729348496854 140729348496864 140729348496864 140729348497390 0
<3>WSL (448 - ) ERROR: UtilBindVsockAnyPort:307: socket failed 38
root@c6208f951e99:/#
Windows版本的docker客户端和Jenkins的系统匹配不行,出现的报错,解决办法如下:
C:\Users\admin>wsl -l -v NAME STATE VERSION * docker-desktop Running 2

如何安装这个Debian系统,通过Microsoft store搜索安装:

然后打开系统,设置账号密码,切换到root,然后通过此系统安装Jenkins:
root@DESKTOP-KI6B9U8:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:cf:4f:ab brd ff:ff:ff:ff:ff:ff
inet 172.25.214.202/20 brd 172.25.223.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::215:5dff:fecf:4fab/64 scope link
valid_lft forever preferred_lft forever
root@DESKTOP-KI6B9U8:~# docker run --privileged -d -p 9090:8080 -p 50000:50000 -v /var/lib/jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock://var/run/docker.sock -u root --restart=always --name=jenkins jenkins/jenkins
e5de7671ad74cb45a8d81c2f74450a5952b3799b81bec565a1b89aa861189866
Docker Desktop服务一定要开始,

安装好Jenkins后再验证docker命令:
root@DESKTOP-KI6B9U8:~# docker exec -it jenkins /bin/bash root@e5de7671ad74:/# docker version Client: Version: 27.3.1 API version: 1.47 Go version: go1.22.7 Git commit: ce12230 Built: Fri Sep 20 11:39:44 2024 OS/Arch: linux/amd64 Context: default Server: Docker Desktop () Engine: Version: 27.3.1 API version: 1.47 (minimum version 1.24) Go version: go1.22.7 Git commit: 41ca978 Built: Fri Sep 20 11:41:11 2024 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.7.21 GitCommit: 472731909fa34bd7bc9c087e4c27943f9835f111 runc: Version: 1.1.13 GitCommit: v1.1.13-0-g58aa920 docker-init: Version: 0.19.0 GitCommit: de40ad0 root@e5de7671ad74:/#
浏览器通过ip访问:

创建job并配置pipeline:
pipeline {
agent any
stages {
stage('拉取代码') {
steps {
git(
branch: 'main',
credentialsId: "gitlab-pass",
url: "http://192.168.213.20:9080/root/springboot-manager.git"
)
}
}
stage('maven build') {
agent {
// 需要安装Docker Pipeline插件,才能使用下面这样
docker {
image 'registry.cn-hangzhou.aliyuncs.com/jsonhc/maven:3.5.0-jdk-8-alpine'
args '-v $HOME/.m2:/root/.m2'
reuseNode true
}
}
steps {
script {
sh "mvn -s settings.xml -f pom.xml -U clean package -Dmaven.test.skip=true"
}
}
}
}
}

浙公网安备 33010602011771号