Docker搭建Jenkins master

一、基础环境

1、系统:Ubuntu 22.04.1 LTS

二、基础软件安装(如已安装则跳过)

# 更新源
apt update

# 安装docker
apt install docker.io -y

# 安装docker-compose
apt install docker-compose

# 搜索jenkins镜像
docker search jenkins

# 从搜索结果选择jenkins/jenkins 这个镜像
docker pull jenkins/jenkins

三、构建jenkins的docker-compose.yml

1、先创建一个jenkins目录

# 创建一个jenkins文件夹
mkdir jenkins

# 权限
chmod 777 /jenkins

2、docker-compose.yml

version: "3"
services:
  jenkins:
    user: root
    restart: always
    image: jenkins/jenkins
    container_name: jenkins
    network_mode: host
    environment:
       TZ: Asia/Shanghai
    volumes:
     - /jenkins:/jenkins
     - /var/run/docker.sock:/var/run/docker.sock
     - /etc/localtime:/etc/localtime

参数说明:

1)/jenkins:/jenkins: 将容器内的jenkins路径挂载到宿主机上,这样就可以让容器随时销毁创建而 不影响服务与数据内容

2)network_mode: host,这样的话 jenkins 内部就能够直接访问到宿主机的本地端口,这个很关键,因为后面需要从 jenkins 内部来通过本地端口访问宿主机的 Docker 实例 API

3)挂载进去之后的 /var/run/docker.sock 文件用户是 root,而 Jenkins 容器内部的执行用户其实是 jenkins,所以需要指定user :root,用root用户进去才能正常执行docker相关操作
 

四、启动服务

1、启动服务

cd /jenkins

# 启动服务
docker-compose up -d 

2、修改配置

# 进入jenkins容器
docker exec -it -u root jenkins bash

# 更新原
apt update 

# 安装 vim
apt install vim -y

# 查找原所在文件
find / -name *.UpdateCenter.xml 

#查找到结果:/var/jenkins_home/hudson.model.UpdateCenter.xml

vim /var/jenkins_home/hudson.model.UpdateCenter.xml

官网的源太慢,将url标签里面的内容改为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 

 3、重启docker

docker restart jenkins

五、Jenkins客户端

1、在浏览器中输入:http://serverIp:port/ 访问jenkins,serverIp为docker宿主机的ip,port即为宿主机映射的端口(8080为默认端口)

2、获取初始密码

# 获取初始密码执行命令
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

3、安装推荐的插件.

 4、新建管理员用户

5、进入Jenkins主界面

六、Jenkins客户端

由于Jenkins的镜像版本太低,因此在Jenkins客户端上下载插件失败。需要升级Jenkins版本:

首页-->系统管理-->自动升级按钮-->jenkins.war安装完成后点击重启

升级之后插件可以正常下载了。

七、解决剩余交换空间为0问题 

进入Jenkins节点管理, 显示剩余交换空间为0

​​​​​​​

 

解决:

1、登陆服务器,查看swap,如下所示,没有配置swap

free|grep -i Swap

Swap:            0          0          0

 2、配置swap

dd if=/dev/zero of=swapfile bs=1M count=1K
mkswap swapfile
sudo chown root:root swapfile
sudo chmod 600 swapfile
sudo swapon swapfile

重新查看,已有数据了:

free|grep -i Swap
Swap:      1048572          0    1048572

3、重启Jenkins服务

docker restart jenkins

重新查看Jenkins客户端,已显示正常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值