1、docker安装
1.1 配置docker-yum源
yum -y install yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.2 查看可选择的docker-ce版本
yum list docker-ce --showduplicates|sort -r
1.3安装指定版本docker
yum -y install docker-ce-19.03.9
ps:如果安装docker-ce-19.03.9报错:
package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
解决方法如下:
yum install -y \
https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm
1.4 配置docker部署jenkins容器调用docker命令
2、卸载 docker
sudo yum remove docker docker-common container-selinux docker-selinux docker-engine
rm -fr /var/lib/docker/
3、安装docker-compose
3.1 下载dockeer-compose命令
curl -L "https://github.com/docker/compose/releases/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
3.2 给docker-compose命令添加执行权限
chmod +x /usr/local/bin/docker-compose
4、安装Jenkins
官网:https://www.jenkins.io
4.1 创建数据存放目录
mkdir -p /opt/docker_jenkins/data
cd /opt/docker_jenkins && chmod 777 data
4.2 新建构建jenkins的yml文件
vim docker-compose.yml
version: "3.1"
services:
jenins:
image: jenkins/jenkins
restart: always
container_name: jenkins
ports:
- 8888:8080
- 50000:50000
volumes:
- ./data:/var/jenkins_home
environment:
- TZ=Asia/Shanghai
4.3 启动jenkins
docker-compose up -d
4.4 查看日志,记下密码
docker-compose logs -f
4.5访问jenkins页面,初化设置
注:非中文件安装jenkins系统中文件插件:Localiztion Chinese(Simplified)
4.6配置第一管理员用户
注:也可以点使用admin帐户继续,然后进入web个修改密码即可。
4.7 指定目标服务器
Gitlab—>Jenkins—>目标服务器
4.8配置jenkins服务器免密登录GitLab
4.8.1 登录jenkins容器生成密钥
4.8.2 把密钥复到GitLab的ssh密钥中
4.9 jenkins配置JDK和maven
4.9.1 上传jdk和maven的压缩包至jenkins所在宿主机的data目录下
4.9.2 手动解压JDK和maven压缩包
注:解压后jdk和maven在jenkins容器的/var/jenkins_home目录下
4.9.3 登录jenkins设置jdk和maven
5、配置jenkins容器使用宿主机的doker
5.1 修改docker文件权限
[root@localhost ~]# cd /var/run/
[root@localhost run]# chown root:root docker.sock #修改所属用户组
[root@localhost run]# chmod +rw docker.sock #添加其他用户的rw权限
5.2 修改jenkins的docker-compose.yml文件数据卷
[root@localhost run]# cd /usr/local/docker/jenkins_docker/
[root@localhost jenkins_docker]# vim docker-compose.yml
[root@localhost jenkins_docker]# docker-compose up -d #重新构建jenkins容器
5.3 确认jenkins容器可以使用docker命令
[root@localhost jenkins_docker]# docker exec -it jenkins bash #进入容器
jenkins@e805d8754334:/$ docker version #确认docker命令是否能用