因为之前的公司资源配置原因,Jenkins都是在本地跑的,下班公司要关电脑,周末要断电...... 所以并不能真正意义上做到自动化,很多时候还是上班之后通过手动点击的方式先跑一遍,就会很鸡肋。现在白嫖了一段时间的云服务器,想着把Jenkins运行在服务器上看看效果,可行之后看能不能向公司申请一下资源。
1、安装及配置docker
如果还未安装docker,请看我另一篇帖子,详细介绍docker的安装过程及避坑:
2、安装jenkins
安装好docker之后,进行jenkins的安装
2.1查询镜像
使用docker search jenkins命令查询镜像
# 查询镜像
docker search jenkins
2.2下载镜像
一般情况下,我们下载第二个
执行命令
docker pull jenkins/jenkins
2.2.1踩坑
但是!我是二般情况,不清楚别人会不会遇到同样的问题,我下载第二个,版本会过低,导致后面访问jenkins进行插件安装时,会报错。所以这里我指定新版本下载。
无论是上面的安装,还是指定新版本安装,后面的步骤都是一样的,只是安装命令不一样,指定新版本,需要在docker hub上查询jenkins,然后进入tags页面,查看新版本:
jenkins/jenkins Tags | Docker Hubhttps://hubgw.docker.com/r/jenkins/jenkins/tags
可以查看到当先更新到的最新版本,copy命令过来进行执行即可
安装好之后,可以查看到拉取的镜像信息
docker images
2.3启动Jenkins容器
2.3.1 创建文件夹用于挂载卷
#创建
mkdir -p /home/jenkins_home
#文件夹授权
chmod 777 /home/jenkins_home
2.3.2启动Jenkins命令
现在可以进行启动了
docker run -dit --name=jenkins -p 8080:8080 -u=root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /etc/localtime:/etc/localtime:ro jenkins/jenkins:2.440.3-lts-jdk17
1、命令
docker run -dit --name=jenkins -p 8080:8080 -u=root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker jenkins/jenkins:2.440.3-lts-jdk17
2、参数说明
-i:表示运行容器
-t:表示容器启动后会进入其命令行
-d:守护式方式创建容器在后台运行
–name:容器名称--memory 500M:最大可消耗内存资源(因为不能一直占用资源,所以要有一个最大消耗值)
-p 8080:8080:端口映射,宿主机端口:jenkins 容器端口
-u=root:指定容器用户为 root 用户
-v /var/run/docker.sock:/var/run/docker.sock:将 docker.sock 映射到 jenkins 容器中
docker.sock 文件是 docker client 与 docker daemon 通讯的文件
-v /usr/bin/docker:/usr/bin/docker:将宿主机 docker 客户端映射到 jenkins 容器中/etc/localtime:/etc/localtime:ro 在docker容器中同步宿主机的时间,来挂载宿主机的 /etc/localtime 到容器的对应位置,。
2.3.2获取初始登录密码
启动之后,进行日志查看,获取初始登陆密码
docker logs jenkins
2.4 重装注意事项
如果你遇到了某些问题,需要重装Jenkins,需要依次进行以下操作:
docker ps -a # 查看当前运行容器
docker stop id # 停止容器,id为要停止的容器id
docker rm id # 删除容器,id为要删除的容器id
docker images # 查看镜像
docker rmi id # 删除镜像,id为要删除的镜像id
rm -rf /home/jenkins_home # 删除目录
3、访问Jenkins
安装好之后,可以正常访问Jenkins,访问地址为:http:ip:8080
ip为宿主机的ip,端口为启动Jenkins容器时,配置的映射端口