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"
                }
            } 
        }
    }
}

 

 

posted on 2025-07-14 17:55  wadeson  阅读(105)  评论(0)    收藏  举报