我们这里选择的是jenkins/jenkins镜像,这也是jenkins的官方镜像,因为该镜像目前活跃度与维护度最高
现在Jenkins最新版内置jdk为11,我们这里也是使用,其推荐页的镜像版本jenkins/jenkins:lts-jdk11
docker pull jenkins/jenkins:lts-jdk11
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /home/jenkins_data:/var/jenkins_home -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -u 0 --restart=on-failure:3 jenkins/jenkins:lts-jdk11
1、-p 端口映射
jenkins容器内部有8080 与50000两个通讯端口,所以需要映射到宿主机上,这样才能正常访问
2、-v 数据卷挂载
我这里一共是挂载了三个,一个是jenkins工作存储位置/var/jenkins_home
,所有插件 数据 配置都在此目录下;另外两个挂载与docker有关,将我们宿主机的docker与jenkins连动起来,这样jenkins就不需要再额外下载docker插件即可实现 devops容器化部署了。
3、-u 指定用户
因为Jenkins镜像内部使用的用户是jenkins,但是我们启动容器时的账号是root,导致没有权限操作内部目录,所以加上参数 -u就能解决
-u :覆盖容器中内置的账号
0:root账号id
4、–restart 容器重启策略
–restart=on-failure 表示在容器非正常退出时尝试从新启动
–restart=on-failure:3 表示在容器非正常退出时尝试从新启动,最多重启三次
docker logs -f 你自己的jenkins容器Id
根据上边宿主机挂载的jenkins工作目录,修改配置文件 /home/jenkins_data/config.xml
# 把false 中的false改为true
true
进入容器
docker exec -it jenkins /bin/bash
找到 default.json 文件
find / -name default.json
进入对应目录
cd /var/jenkins_home/updates
替换 default.json 中的内容
将 updates.jenkins-ci.org/download 替换为 mirrors.tuna.tsinghua.edu.cn/jenkins,
将 www.google.com 替换为 www.baidu.com
sed -i 's/www.google.com/www.baidu.com/g' default.json
sed -i 's/updates.jenkins-ci.org\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.jsons
插件提速设置好后,需要重新启动jenkins容器
docker restart 你的jenkins容器ID
输入宿主机Ip:端口即可访问jenkins
ex:162.14.100.111:8080
输入上方获取的初始密码即可
推荐插件安装
新手一般根据推荐安装插件即可,避免了后续使用又要下载插件的问题,因为我们上边配置了插件提速,所以速度也还是非常快的
插件下载完毕后,推荐我们再次创建一个管理员账号,这里看你自己意愿
在经过后边几次下一步后,进入到了我们的jenkins欢迎页面
点击账户 点击设置 下拉有密码一栏,输入新密码即可
最后一栏,选择时区(中国则用上海时区)