docker jenkin下载缓慢_使用Docker安装配置Jenkins

前言

《CentOS7安装部署Jenkins》一文中学习了Jenkins的安装方法,如果使用Docker来安装Jenkins,同样可以简单很多。

前置条件是安装配置好了docker环境,安装方法参考《Docker入门》。已知docker宿主机IP为192.168.56.130。

安装Jenkins

1、登录dockerhub查看需要的jenkins-Docker Official Images。

需要注意,官方的jenkins最新版本是2.60.3,版本太低!如果安装该版本,安装后会出现各种插件使用不了的情况。因此,这里真正需要使用的jenkins命名空间下的jenkins。

2、下载jenkins镜像(以2.210为例)

docker pull jenkins/jenkins:2.210

3、启动jenkins服务1

2

3

4docker run --name vk-jenkins -d \

-p 8080:8080 -p 50000:50000 \

-v /opt/jenkins_home:/var/jenkins_home \

jenkins/jenkins:2.210

以上命令:命名容器为vk-jenkins,后台运行

映射宿主机8080、50000端口到容器8080、50000端口

挂载宿主机目录/opt/jenkins_home到容器目录/var/jenkins_home

启动报错:1

2docker: Error response from daemon: driver failed programming external connectivity on endpoint vk-jenkins (d95f7502bb87d6795547061a2f13b5e2ba44648977399fcde1c05640f678554a): (iptables failed: iptables --wait -tnat-A DOCKER -p tcp -d 0/0 --dport 50000 -j DNAT --to-destination 172.17.0.2:50000 ! -i docker0: iptables: No chain/target/match by that name.

(exit status 1)).

解决办法:重启docker,然后重新执行启动命令。1

2

3

4

5

6

7systemctl restart docker

docker rm vk-jenkins

docker run --name vk-jenkins -d \

-p 8080:8080 -p 50000:50000 \

-v /opt/jenkins_home:/var/jenkins_home \

jenkins/jenkins:2.210

4、验证安装

docker ps

jenkins启动正常的话就可以看到vk-jenkins容器。

如果启动失败,可以使用docker logs vk-jenkins查看失败原因并进行解决。本例中确实报错了,提示目录权限问题:1

2touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied

Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

这是因为/opt/jenkins_home目录的拥有者为root用户,而容器中jenkins user的uid为1000,因此需要修改目录权限。1

2chown -R 1000:1000 /opt/jenkins_home

docker start vk-jenkins

配置使用Jenkins

1、加速插件安装(推荐)

参考Jenkins安装插件提速,修改/opt/jenkins_home/updates/default.json。1

2sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json

sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

修改完成重启vk-jenkins,正常进入安装流程,直观感觉就是“安装推荐的插件”这一步速度能够提高一百倍。

2、查看初始密码

cat /opt/jenkins_home/secrets/initialAdminPassword

3、jenkins配置

浏览器访问:http://192.168.56.130:8080/

初始密码填入页面,开始进行jenkins配置。

至此,docker安装配置jenkins完成。因为第一次使用的是官方的jenkins2.60.3镜像,所以遇到了一些坑,下面一节中进行记录。

jenkins2.60.3问题解决

1、安装推荐的插件,会卡在Getting Started。

。这是因为安装插件前会尝试连接 www.google.com ,来判断网络是否连通。国内用户需要改成 www.baidu.com ,vim /opt/jenkins_home/updates/default.json,找到google,修改为baidu。1

2

3

4# 修改前

"connectionCheckUrl":"http://www.google.com/",

# 修改后

"connectionCheckUrl":"http://www.baidu.com/",

2、重启jenkins特别慢

docker restart vk-jenkins

发现重启特别特别慢,大概要10分钟左右才能重启成功。而且,重启后connectionCheckUrl中的baidu又变成了google!!!

3、修改updatecenter

怀疑在jenkins启动时会根据其他地方的配置更改default.json,但是没有找到。查找资料发现了一篇update jenkins Updatecenter from CLI,其中一行:1wget -O default.json http://updates.jenkins-ci.org/update-center.json

那么,如果修改updatecenter为中国的镜像站,是不是就会使用中国的update-center.json代替default.json?试一试,vim /opt/jenkins_home/hudson.model.UpdateCenter.xml,原文为:1

2

3

4

5

6

7<?xml version='1.0' encoding='UTF-8'?>

default

http://updates.jenkins-ci.org/update-center.json

中国镜像站去哪里找呢?可以在the status of Jenkins mirrors网站上选择。

hudson.model.UpdateCenter.xml修改为:1

2

3

4

5

6

7<?xml version='1.0' encoding='UTF-8'?>

default

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

删除/opt/jenkins_home/updates目录,再次重启vk-jenkins。

重启速度飞快,10秒左右,但是default.json中依然是google,因为镜像站里的update-center.json和jenkins源站里的update-center.json相同。既然jenkins启动时都会使用远端的update-center.json替代本地的default.json,那么解决该问题的方法就是给hudson.model.UpdateCenter.xml一个远端的修改后的update-center.json,或者不让jenkins获取到远端update-center.json。

4、填写假的updatecenter

修改hudson.model.UpdateCenter.xml为:1

2

3

4

5

6

7<?xml version='1.0' encoding='UTF-8'?>

default

http://localhost

因为获取不到update-center.json,然后就可以跳过安装插件的步骤。

5、更换新版jenkins镜像

jenkins安装成功,但是在jenkins的系统配置页面,可以看到很多插件报错,而且无法修复,系统建议进行jenkins升级。

此时,小编才意识到,官方jenkins镜像不是最新版!!!需要改用jenkins命名空间下的新版jenkins镜像,但是“安装推荐的插件”这一步依然很慢,几个小时甚至更久才能安装成功。加速方法可以参考本文 配置使用Jenkins 一节中的 加速插件安装。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值