安装jenkins
1. 查看jenkins版本:
docker search jenkins
2. 拉取镜像:
docker pull jenkins/jenkins (选择第二个,第一个版本过低,后续插件安装会失败)
3. 创建挂载目录:
mkdir /home/jenkins
4. 修改权限(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
测试
成功!