Docker安装Jenkins的实现步骤
作者:way_more
话不多说,下面直接开始
1.下载Jenkins
使用下面命令,让docker拉取镜像,
docker pull jenkins/jenkins:2.426.2-lts
注:需要指定版本号,不然拉取的镜像版本是比较老的版本
2、创建挂载目录
创建一个挂载目录,用于存放jenkins的数据
//创建目录 mkdir -p /usr/docker/jenkins_data //授权权限 chmod 777 jenkins_home
3、启动Jenkins容器
启动命令如下:
docker run -d -p 8082:8080 -p 50000:50000 -v /usr/docker/jenkins_data:/var/jenkins_home -v /etc/localtime:/etc/localtime -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock --restart=on-failure -u 0 --name myjenkins jenkins/jenkins:2.426.2-lts
指令解析:
- -d :后台运行容器
- -p:端口映射, 左边是本地端口,右边是docker容器端口 ,8080是Jenkins Web 界面的工作端口,50000是JNLP(Java Network Launch Protocol)工作端口。这个端口用于 Jenkins 节点和主控节点之间的通信。
- -v :目录挂载,将主机上的 /usr/docker/jenkins_data 目录挂载到容器内的 /var/jenkins_home 目录,用于持久化 Jenkins 的数据。/etc/localtime:/etc/localtime:将本地主机上的时区信息文件挂载到容器内的 /etc/localtime 文件中,确保容器内的时间与主机上的时间一致
- -v /usr/bin/docker:/usr/bin/docker: 将主机上的 /usr/bin/docker 文件挂载到容器中的 /usr/bin/docker,这样容器内的 Jenkins 可以直接使用宿主机上的 Docker 命令。在使用 GitLab/Jenkins 等 CI 软件的时候需要使用 Docker 命令来构建镜像,需要在容器中使用 Docker 命令;通过将宿主机的 Docker 共享给容器
- -v /var/run/docker.sock:/var/run/docker.sock: 将主机上的 Docker socket 文件挂载到容器中的相同位置,这样容器内的 Jenkins 可以与宿主机上的 Docker 引擎进行通信。
- –restart=on-failure:设置容器的重启策略为在容器以非零状态退出(异常退出)时重启。
- -u 0:将容器内进程的用户身份设置为 root 用户,等同于-u root。
- –name myjenkins:给容器指定一个名称为 myjenkins。
4、验证Jenkins容器是否启动成功
使用下面命令,查看jenkins是否已经在运行
docker ps
如果已经运行,会输出jenkins容器的相关信息
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2949e82cbfe8 jenkins/jenkins:2.426.2-lts "/usr/bin/tini -- /u…" 6 days ago Up 24 hours 0.0.0.0:50000->50000/tcp, :::50000->50000/tcp, 0.0.0.0:8082->8080/tcp, :::8082->8080/tcp myjenkins
5、获取管理员密码
我们在进入Jenkins的管理页面的时候,是需要管理员密码,所以我们需要获取管理员密码
获取管理员密码有两种方式
1、查看日志
使用下面命令查看jenkins的输出日志,myjenkins是我们在启动jenkins时给jenkins指定的容器名
docker logs myjenkins
找到下面这行代码,Please use the following password to proceed to installation下面的就是密码
Please use the following password to proceed to installation: 151c26cd87b84e449d3bffca7f5365c3
2、查看文件
不看日志,我们也可以直接查看/var/jenkins_home/secrets/initialAdminPassword文件,这个目录在我们进入jenkins 管理页面时会看到
6、修改插件源
Jenkins在安装插件时,下载相关插件包特别慢,我们可以将Jenkins默认的插件数据源变更为国内数据源,然后重启Jenkins
#进入更新配置目录 cd {你的Jenkins工作目录}/updates
使用下面命令替换default.json文件中指定的源
sed -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
修改下载地址
cd {你的Jenkins工作目录}/
找到下面这个文件
hudson.model.UpdateCenter.xml文件
<?xml version='1.1'encoding='UTF-8'?> <sites> <site> <id>default</id> <url>https://updates.jenkins.io/update-center.json</url> </site> </sites>
将url替换为http://mirror.esuni.jp/jenkins/updates/update-center.json
<?xml version='1.1encoding='UTF-8'?> <sites> <site> <id>default</id> <urI>http://mirror.esuni.jp/jenkins/updates/update-center.json</url》 </site> </sites>
7、登录web页面
使用ip:8082,8082就是我们主机映射到容器8080的端口,如果你使用的是其他端口,那么需要换成其他端口
输入密码之后,就可以安装插件,直接选择安装推荐的插件即可
下载完成,就可以进入jenkins进行操作了
8、插件推荐
除了推荐插件之外,下面是一些常用插件,大家按需安装
Locale(中文插件)
Gitlab Plugin (拉取 gitlab 中的源代码)
Maven Integration(maven构建工具)
Publish Over SSH(远程推送工具)
Role-based Authorization Strategy(权限管理)
Deploy to container(自动化部署工程所需要插件,部署到容器插件)
git parameter(用户参数化构建过程里添加git类型参数)
下载插件在系统管理—插件管理的Available plugins
到此这篇关于Docker安装Jenkins的实现步骤的文章就介绍到这了,更多相关docker安装jenkins内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!