安装环境:
阿里云轻量级服务器
CentOs8操作系统
docker+jenkins原理如下图:
Docker安装
卸载旧版本
卸载命令如下:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
自动安装
安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
从阿里云镜像安装
手动安装
安装yum-utils包
yum install -y yum-utils
设置镜像仓库
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker
yum install docker-ce docker-ce-cli containerd.io
docker-ce为社区版
启动docker
systemctl start docker
查看docker版本
docker version
安装成功
Jenkins安装
拉取镜像
Jenkins 的官方 Docker 镜像页面为:https://hub.docker.com/r/jenkins/jenkins/
这里我使用的是最新的镜像标签,可以使用下面的命令来拉取最新的镜像
docker pull jenkins/jenkins:latest
新建持久化目录
把容器中的 Jenkins 主目录给持久化到主机本地目录中,因此需要先在主机上新建一个本地目录:
mkdir -p /root/docker/jenkins
运行容器
docker run -d \
-u root \
--name jenkins \
-p 8080:8080 \
-v /root/docker/jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkins/jenkins
第一行表示将该容器放置在后台运行。
第二行表示使用 root 用户来运行容器。
第三行表示给这个容器起一个名字,后面可以通过该名字来管理这个容器。
第四行表示将主机的 8080 端口映射到容器中的 8080 端口,后面就可以通过主机ip:8080来访问容器中的 Jenkins,这个主机的端口是可以更改的,根据自己的需要更改即可。
第五行表示将本地的/root/docker/jenkins 目录映射为容器中的 /var/jenkins_home 目录,即步骤二中的数据持久化目录。
第六行表示将本地的 /var/run/docker.sock 文件映射为容器中的 /var/run/docker.sock 文件。目的是为了容器中的 Jenkins 能够与主机的 Docker 进行通讯。
第七行则是指定使用哪一个镜像和标签。
运行了之后会返回一个容器ID。我们可以使用该容器的名字或者ID来控制这个容器
docker启动命令:
docker start jenkins
启动后可通过主机8080端口访问jenkins
通过以下命令获取jenkins管理员密码以解锁jenkins
cat /root/docker/jenkins/secrets/initialAdminPassword
可能出现的问题
安装yum-utils包时
Cannot download repomd.xml: Cannot download repodata/repomd.xml
原因:CentOS8操作系统版本生命周期结束,Linux社区不再维护,需要还源。
解决办法:将yum源换成阿里云
1)备份
cd /etc/repos.d/
sudo rename '.repo' '.repo.bak' /etc/yum.repos.d/*.repo
2) 从阿里云下载从阿里云下载
sudo wget https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo -O /etc/yum.repos.d/Centos-vault-8.5.2111.repo
sudo wget https://mirrors.aliyun.com/repo/epel-archive-8.repo -O /etc/yum.repos.d/epel-archive-8.repo
3) 替换源链接
sed -i 's/mirrors.cloud.aliyuncs.com/mirrors.aliyun.com/g' /etc/yum.repos.d/Centos-vault-8.5.2111.repo
sed -i 's/mirrors.cloud.aliyuncs.com/mirrors.aliyun.com/g' /etc/yum.repos.d/epel-archive-8.repo
4) 清除并更新缓存
yum clean all && yum makecache
5) 验证
sudo yum update