docker安装jenkins---完美解决jenkins插件安装失败问题

/ 版本管理docker / 没有评论 / 3203浏览

docker安装jenkins---完美解决jenkins插件安装失败问题

我最近通过docker安装jenkins,发现插件总是无法安装成功,在网上后来终于找到了资料,我就把它整理进来了

1、我的安装环境

我采用的是centos7,在阿里云官网下载的镜像(https://mirrors.aliyun.com/centos/),我的镜像不是迷你版,是带有桌面的版本,目前,这里安装了JDK和docker,关于docker的安装下次有时间再发一篇博文

为什么我要采用阿里云的centos呢?因为我需要yum的时候,能直接在阿里云获取,而不需要自己去修改yum源。

2、Dockerfile制作

①先拉取centos镜像:

docker pull centos:7

②创建Dockerfile文件,并且上传一个jdk压缩包:

img

mkdir /root/mydocker 
vi Dockerfile

Dockerfile的文件内容为:

FROM centos:7
MAINTAINER TangLiPing <17611219021@sina.cn>
RUN mkdir /usr/local/java
ADD jdk-8u65-linux-x64.tar.gz /usr/local
ENV JAVA_HOME /usr/local/jdk1.8.0_65
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
 
	
RUN	yum install -y wget && \
	wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo && \
	rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key && \
	yum -y install jenkins && \
	sed -i 's/JENKINS_USER="jenkins"/JENKINS_USER="root"/g' /etc/sysconfig/jenkins && \
	echo  export JENKINS_HOME=/var/lib/jenkins/ >> /etc/profile &&\
	source /etc/profile && \
	# install service
	yum install initscripts -y  &&\
	ln -s $JAVA_HOME/bin/java /usr/bin/java && \
	#su -root && \
	service jenkins start	
ENTRYPOINT ["/bin/bash"]
ENTRYPOINT ["/usr/sbin/init"]

Dokerfile文件解释:

参考博文:https://www.cnblogs.com/superjie/p/9876028.html

ADD jdk-8u65-linux-x64.tar.gz /usr/local 这里需要根据自己的jdk包文件去做修改

ENV JAVA_HOME /usr/local/jdk1.8.0_65 这里需要根据自己的jdk包文件去做修改

sed -i 's/JENKINS_USER="jenkins"/JENKINS_USER="root"/g' /etc/sysconfig/jenkins 修改jenkins配置文件

yum install initscripts -y 为了防止service jenkins start 报错

ENTRYPOINT ["/usr/sbin/init"] 为了防止service jenkins start 报错

3、创建并进入容器

docker run --privileged  -id -p 9999:8080 --name=jenkins05 myjenkins:3.0 /usr/sbin/init
 
docker exec -it jenkins05 /bin/bash

4、解决插件安装失败问题

访问地址: ip:9999

登录jenkins,用admin登录即可,密码可以通过:cat /var/lib/jenkins/secrets/initialAdminPassword 命令进行查看,注意,这个命令是在jenkins05容器执行的,不是在宿主机上面哦

登录容器之后,先跳过插件安装,按照下图的标记部分进行点击即可,注意哦,你只进行登录jenkins操作即可,其它配置代理、安装插件,全部跳过,直接来到下面的界面即可。

img

img

img

将上图url 由 https://updates.jenkins.io/update-center.json 改为:http://updates.jenkins.io/update-center.json即可,去掉了s

重新启动docker,发现插件已经可安装了。(之前进来下图界面时,是没有任何插件的哦)

如下图所示:img

现在 docker安装 jenkins已经完成,但是还有一些瑕疵,比如,每个人的JDK版本不一样,需要手动修改Dockerfile文件,这些可以自己写一点shell脚本来帮你屏蔽这些事情 ,下次我再完善一下。

5.Jenkins系统时间默认不是中国地区时间 ,所以需要修改一下

进入系统管理 - 脚本命令行页面,输入下面的命令,然后点 运行,即可。

System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')

6.Jenkins汉化,安装Localization: Chinese插件

先进入插件管理,路径如下图,然后输入关键字: Localization,进行搜索,勾选安装,安装完后,需要手动重启