使用 Docker 部署 Jenkins 并设置初始管理员密码

每一次开始,我都特别的认真与胆怯,是因为我期待结局,也能够不会那么粗糙,不会让我失望,所以,就多了些思考,多了些拘束,所以,我也就格外重视第一次!
在这篇博客中,我们将介绍如何使用 Docker 部署 Jenkins,并在 /usr/local/src/ 目录下创建相关卷。
安装Docker
1、选择要安装的平台
Docker要求CentOS系统的内核版本高于3.10
uname -r #通过 uname -r 命令查看你当前的内核版本
安装文档地址
https://docs.docker.com/engine/install/centos/
2、选择要安装的操作系统

3、首先卸载已安装的Docker
使用Root权限登录 Centos。确保yum包更新到最新。
sudo yum update
如果你的操作系统没有安装过Docker , 就不需要执行卸载命令。
 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
4、建立仓库
安装Docker所需要的一些工具包
sudo yum install -y yum-utils
建立Docker仓库 (映射仓库地址)
sudo yum-config-manager   --add-repo     https://download.docker.com/linux/centos/docker-ce.repo
5、安装Docker引擎
 sudo yum install docker-ce docker-ce-cli containerd.io
6、启动Docker
sudo systemctl start docker
7.设置docker镜像仓库
有时候,我们pull镜像的时候非常慢,所以需要设置一下国内的镜像仓库作为下载源
第一步:新建或编辑daemon.json
vi /etc/docker/daemon.json第二步:daemon.json中编辑如下
{"registry-mirrors": ["http://hub-mirror.c.163.com"]
}第三步:重启docker
systemctl restart docker.service第四步:执行docker info查看是否修改成功
docker info
以下列举出国内的几个下载地址:
1.网易
http://hub-mirror.c.163.com
2.Docker中国区官方镜像
https://registry.docker-cn.com
3.中国科技大学
https://docker.mirrors.ustc.edu.cn
4.阿里云容器服务
https://cr.console.aliyun.com/
首页点击“创建我的容器镜像”  得到一个专属的镜像加速地址,类似于“https://1234abcd.mirror.aliyuncs.com”
8.安装docker-compose
Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。
运行以下命令以下载 Docker Compose 的当前稳定版本:
$ sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
要安装其他版本的 Compose,请替换 v2.2.2。
Docker Compose 存放在 GitHub,不太稳定。
你可以也通过执行下面的命令,高速安装 Docker Compose。
curl -L [https://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-](https://link.zhihu.com/?target=https%3A//get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-)`uname -s`-`uname -m` > /usr/local/bin/docker-compose
将可执行权限应用于二进制文件:
$ sudo chmod +x /usr/local/bin/docker-compose
创建软链:
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试是否安装成功:
$ docker-compose version
cker-compose version 1.24.1, build 4667896b
9.docker常用命令
基本命令
-  启动 Docker 服务: systemctl start docker
-  检查 Docker 版本: docker --version
镜像操作
-  从 Docker Hub 拉取镜像: docker pull <image_name>例如: docker pull nginx
-  列出本地镜像: docker images
-  删除本地镜像: docker rmi <image_name>
-  构建镜像: docker build -t <image_name> .
容器操作
-  运行容器: docker run -it --name <container_name> <image_name>例如: docker run -it --name my_nginx nginx
-  列出运行中的容器: docker ps
-  列出所有容器(包括停止的容器): docker ps -a
-  停止容器: docker stop <container_name>
-  启动已停止的容器: docker start <container_name>
-  删除容器: docker rm <container_name>
-  进入运行中的容器: docker exec -it <container_name> /bin/bash
数据卷操作
-  创建数据卷: docker volume create <volume_name>
-  列出数据卷: docker volume ls
-  删除数据卷: docker volume rm <volume_name>
网络操作
-  创建网络: docker network create <network_name>
-  列出网络: docker network ls
-  删除网络: docker network rm <network_name>
其他操作
-  查看容器日志: docker logs <container_name>
-  检查 Docker 系统资源使用情况: docker system df
安装Jenkins
1.拉取 Jenkins 镜像
从 Docker Hub 拉取最新的 Jenkins 镜像。
docker pull jenkins/jenkins:lts
2.创建 Docker 卷
在 /usr/local/src/ 目录下创建一个用于存储 Jenkins 数据的目录。
mkdir -p /usr/local/src/jenkins/data
3.运行 Jenkins 容器
使用 Docker 启动 Jenkins 容器,并挂载前面创建的目录。
docker run -d --name jenkins \-v /usr/local/src/jenkins/data:/var/jenkins_home \-p 8080:8080 \-p 50000:50000 \jenkins/jenkins:lts
在上述命令中:
- -d:表示容器将在后台运行。
- --name jenkins:指定容器的名称为- jenkins。
- -v /usr/local/src/jenkins/data:/var/jenkins_home:将主机的- /usr/local/src/jenkins/data目录挂载到容器内的 Jenkins 数据目录- /var/jenkins_home。
- -p 8080:8080:将容器的 8080 端口映射到主机的 8080 端口。
- -p 50000:50000:将容器的 50000 端口映射到主机的 50000 端口,用于 Jenkins 代理通信。
如果启动失败,查看容器日志,
docker logs 容器ID
如果是如下报错
INSTALL WARNING: User:  missing rw permissions on JENKINS_HOME: /var/jenkins_home
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?那就给容器挂载目录授权
sudo chown -R 1000:1000 /usr/local/src/jenkins
sudo chown -R 1000:1000 /usr/local/src/jenkins/*
3.验证部署
打开浏览器并访问 http://<你的主机IP>:8080,在首次启动时,Jenkins 将生成一个初始管理员密码。可以通过以下命令查看初始密码:
docker logs 容器ID

或者直接查看文件中的密码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

初始化配置完成后,可以使用 Jenkins Web 界面创建新的用户、配置插件和管理 Jenkins 实例。
4.其他常用 Docker 命令
-  查看容器日志: docker logs -f jenkins
-  进入容器内部: docker exec -it jenkins /bin/bash