docker安装jenkins
拉取jenkins镜像
docker pull jenkins/jenkins:2.293
这个地方拉取jenkins镜像时,建议带上tag(2.293)。因为latest版本的jenkins镜像中对应的jenkins版本为2.27,版本过低会导致安装后会出现大量插件安装失败的情况。 后续如果jenkins的最新版镜像更新了,可以考虑拉取latest版本,更新情况可去docker jenkins官方镜像网址查看。
创建Jenkins挂载目录并授权权限
- 在宿主机上创建jenkins容器将要挂在的工作目录(本地数据卷)
- 修改工作目录所有者, 因为当映射本地数据卷时,
/home/jenkins_home/
目录的拥有者为root或其他用户
,而容器中jenkins
用户的 uid 为1000
。需要将工作目录所有者修改为1000,容器中jenkins启动后才不会出现权限问题。
mkdir -p /home/jenkins_home
chown -R 1000:1000 /home/jenkins_home
创建并运行容器
如果宿主机没有安装jdk或者maven,使用下述命令启动即可,进入到jenkins后自动下载安装jdk和maven
docker run -itd --name jenkins -p 9090:8080 -p 50000:50000 -v /home/jenkins_home:/var/jenkins_home jenkins/jenkins:2.293
如果宿主机安装了jdk和maven,使用下述命令将两个配置挂在到容器中
docker run -itd --name jenkins -p 9090:8080 -p 50000:50000 -v /home/jenkins_home:/var/jenkins_home -v /usr/java/jdk1.8.0_251:/var/jdk1.8.0_251
-v /usr/apache-maven-3.8.1:/var/apache-maven-3.8.1 jenkins/jenkins:2.293
- --name:定义一个容器的名字,如果没有指定,那么会自动生成一个随机数字符串当做UUID
- -p 9090:8080口映射,本地的8080被占用了,所以映射了一个9090
- -v 数据卷绑定
注:如果maven是自己安装的话,建议修改/usr/apache-maven-3.8.1/conf目录下的setting.xml文件中的maven依赖下载源
修改jenkins安装插件镜像
由于使用原始的插件安装镜像会出现速度过慢,网络中断现象,导致插件安装失败,所以在启动docker容器前,修改一下容器目录/var/jenkins_test下的hudson.model.UpdateCenter.xml,具体修改如下.
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
</site>
</sites>
配置jenkins
打开jenkins
通过浏览器访问 http://172.16.22.30:8040/
(注意替换成你自己的IP和端口)进入初始页,如果 Jenkins 还没有启动完成,会显示如下内容
输入管理员密码
这里要求输入初始的管理员密码,根据提示密码在/var/jenkins_home/secrets/initialAdminPassword
这个文件中,注意这个路径是 Docker 容器中的,所以我们通过如下命令获取
# docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
85770376692448b7b6a8e301fb437848
安装插件
如果没有很明确的需求,选择安装推荐的插件即可。
创建管理员
创建管理员后,后面可以使用该账户进行登录