Docker安裝步驟請轉到:https://www.cnblogs.com/nhdlb/p/11262527.html
查看docker的jenkins鏡像版本
#查看jenkins版本命令
docker search jenkins
[root@localhost docker]# docker search jenkins NAME DESCRIPTION STARS OFFICIAL AUTOMATED jenkins Official Jenkins Docker image 4153 [OK] jenkins/jenkins The leading open source automation server 1326 jenkinsci/jenkins Jenkins Continuous Integration and Delivery … 355 jenkinsci/blueocean https://jenkins.io/projects/blueocean 339 jenkinsci/jnlp-slave A Jenkins slave using JNLP to establish conn… 101 [OK]
遠程拉取鏡像
#拉取鏡像命令(不標注表示最新的)
docker pull jenkins
[root@localhost docker]# docker pull jenkins Using default tag: latest latest: Pulling from library/jenkins 55cbf04beb70: Pull complete 1607093a898c: Pull complete 9a8ea045c926: Pull complete d4eee24d4dac: Pull complete c58988e753d7: Pull complete 794a04897db9: Pull complete 70fcfa476f73: Pull complete
創建掛載目錄
掛載目錄用於映射jenkins的jenkins_home下的配置文件等信息。
#本文的掛載目錄是home下 mkdir /home/jenkins
重點:此目錄需要設置權限,否則啟動容器報錯權限錯誤
#修改權限(1000:1000 是UID和GID) chown -R 1000:1000 /home/jenkins/
啟動容器
#運用鏡像啟動容器命令 docker run -d -p 8000:8080 -p 50000:50000 -v /home/jenkins:/var/jenkins_home --name jenkins --restart always --privileged=true -u root jenkins
-p : 映射端口,宿主機端口:容器端口
-v : 掛載,宿主機目錄:容器目錄
--name : 自定義容器名
-u : 權限用戶名
--privileged : 使用該參數,container內的root擁有真正的root權限,否則,container(容器)內的root只是外部的一個普通用戶權限,privileged啟動的容器可以看到很多host上的設備,並且可以執行mount,甚至允許你在docker容器內啟動docker容器。
未設置privileged參數

設置privileged參數

-p 50000:50000 : 如果您在其他機器上設置了一個或多個基於JNLP的Jenkins代理程序,而這些代理程序又與 jenkinsci/blueocean 容器交互(充當“主”Jenkins服務器,或者簡稱為“Jenkins主”), 則這是必需的。默認情況下,基於JNLP的Jenkins代理通過TCP端口50000與Jenkins主站進行通信。
修改default.json、hudson.model.UpdateCenter.xml配置文件
啟動容器后,進入剛才設置的掛載目錄 /home/jenkins 內,可以看到已經有映射的配置文件了。

首先修改hudson.model.UpdateCenter.xml配置文件
默認路徑 http://updates.jenkins-ci.org/update-center.json 改成路徑 http://mirror.xmission.com/jenkins/updates/update-center.json
完成后修改 /updates/default.json 配置文件
默認路徑 "connectionCheckUrl":"http://www.google.com/" 改為路徑 "connectionCheckUrl":"http://www.baidu.com/"
重啟jenkins容器
#重啟jenkins容器
docker restart jenkins
測試

成功!
