Linux(CentOS) docker安装jenkins (比TeamCity麻烦多了) --手把手教你

前置说明

查看CentOS版本
cat /etc/redhat-release
结果 CentOS Linux release 7.7.1908 (Core)

docker操作
docker images       查看所有镜像 (已拉取到本地的)
docker ps           列出所有运行中的容器
docker ps -a        列出容器 包括 未运行/运行中的
docker search jenkins/jenkins  列出可用镜像
docker pull jenkins/jenkins    拉取指定镜像

Docker 启动/重启/杀死/停止/查看状态/开机启动 容器
docker start containerName或者containerID  
docker restart containername或者containerID
docker stop containerName或者containerID  
docker kill containerName或者containerID
docker status containername或者containerID
docker enable containername或者containerID

删除镜像 需要:
1.停止容器(运行中的)
docker stop 容器名/容器ID   只取前3-4位即可 完整也行
2.删除容器  
docker rm  容器名/容器ID     通过容器Name删除容器,name 完整/前3个字符
3.删除镜像
docker rmi 镜像名/镜像ID   根据镜像ID 删除镜像,id前3个字符即可

Docer方式在 linux(centos)上安装jenkins,避免各种环境配置的冲突麻烦
https://blog.csdn.net/qinaye/article/details/85053088

docker pull 镜像报错解决
https://blog.csdn.net/qq_60506984/article/details/129770336

docker run 命令详解  
https://blog.51cto.com/u_15009374/3144897

安装流程

step1  centos 安装/启动docker 
安装 yum install docker
启动 service docker start
验证是否安装成功  docker version  显示 Clinet/Server

step2  拉取Jenkins镜像
2.1 外国仓库容易失败 换国内仓库 创建daemon.json
vi /etc/docker/daemon.json
按 i 进入编辑 加入仓库地址
{
  "registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"] //只加这一行
}
按 ESC ,并按 :冒号输入wq(保存退出:wq)

2.2 重启守护线程 systemctl daemon-reload
2.3 重启docker   systemctl restart docker
2.4 查看所有镜像 docker search jenkins/jenkins
2.4 pull指定镜像 docker pull jenkins/jenkins    :lts或者:latest 默认
2.5 查看镜像名称+tag确认  docker images

step3 防火墙添加 端口 白名单
firewall-cmd --permanent --list-all
//50000/9111未开启的话 添加端口白名单
firewall-cmd --permanent --add-port=50000/tcp
firewall-cmd --permanent --add-port=9111/tcp
//添加或者移除规则后重新加载firewall后配置才会生效
firewall-cmd --reload

step4  载入Jenkins镜像 启动容器
注意这是一行命令,不能分行 具体参数参照https://blog.51cto.com/u_15009374/3144897
docker run -d -p 9111:8080 -p 50000:50000 --name jenkins --privileged=true -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -u root docker.io/jenkins/jenkins:latest

解释:
将容器的8080端口 映射到linux端口9111
设置容器名字
--name jenkins
挂载宿主机器目录, 于后续文件移动拷贝  格式为: 宿主机文件夹(容器启动前会自动创建):容器文件夹
-v /var/jenkins_home:/var/jenkins_home
挂载docker宿主机的docker文件和docker.sock文件,让容器可以执行宿主机的指令
-v /var/run/docker.sock:/var/run/docker.sock
-v /usr/bin/docker:/usr/bin/docker
使得 docker 容器有 root 权限执行宿主机命令,确保从容器执行命令的时候不会产生权限不足错误
--privileged=true

step5 访问jenkins
ip:9111

step6 进入jenkins后 可更换源(更改插件升级URL 获取更快响应)
管理Jenkins/ManagePlugins
替换最下方【升级站点】中的URL:
替换前:
http://updates.jenkins-ci.org/update-center.json
替换后:
http://mirror.esuni.jp/jenkins/updates/update-center.json


step7 忘记密码 修改密码(容器运行jenkins时 必须挂载目录)
cd /var/jenkins_home
ls 列出文件夹 admin_xxxx
cd admin_xxxx
ls 列出来 config.xml  修改这个即可
vi config.xml
<passwordHash>#jbcrypt:$2a$10$MiIVR0rr/UhQBqT.bBq0QehTiQVqgNpUGyWW2nJObaVAM/2xSQdSq</passwordHash>
重启jenkins后  账号密码登录: admin/123456


step8 容器安装的jenkins版本低 更新方法
1 确认下载链接
jenkins 系统管理 页面下面 会给出新版本war链接 例如下面
https://updates.jenkins.io/download/war/2.406/jenkins.war

2 下载jenkins.war
容器内 wget yum等命令可能不正常 在容器外下载好 再进入容器拷贝
cd /var/jenkins_home/   //jenkins容器已挂载的目录
mkdir zdata 创建zdata目录
wget https://updates.jenkins.io/download/war/2.406/jenkins.war --no-check-certificate

3 进入容器 更新jenkins 其实就是更新jenkins.war 再重启容器
3.1 docker ps                                            //查看运行中的jenkins容器ID xxx
      docker exec -it -u root xxx /bin/bash  //进入容器
3.2 which jenkins.war                               //找到目录 /usr/share/jenkins
      cd /usr/share/jenkins                          //进入目录  
      ls                                                         //确认jenkins.war存在
3.3 cd /var/jenkins_home/zdata/
      cp -f jenkins.war /usr/share/jenkins/   //覆盖文件 不提示

4  按Ctrl+P+Q                                   //正常退出退出容器,不关闭容器
5  docker restart jenkins                    //重启容器 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值