Docker:docker安装部署jenkins
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
测试
成功!