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

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

每一次开始,我都特别的认真与胆怯,是因为我期待结局,也能够不会那么粗糙,不会让我失望,所以,就多了些思考,多了些拘束,所以,我也就格外重视第一次!

在这篇博客中,我们将介绍如何使用 Docker 部署 Jenkins,并在 /usr/local/src/ 目录下创建相关卷。

安装Docker

1、选择要安装的平台

Docker要求CentOS系统的内核版本高于3.10

sh 复制代码
uname -r #通过 uname -r 命令查看你当前的内核版本

安装文档地址

docs.docker.com/engine/inst...

2、选择要安装的操作系统

3、首先卸载已安装的Docker

使用Root权限登录 Centos。确保yum包更新到最新。

sh 复制代码
sudo yum update

如果你的操作系统没有安装过Docker , 就不需要执行卸载命令。

sh 复制代码
 sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

4、建立仓库

安装Docker所需要的一些工具包

sh 复制代码
sudo yum install -y yum-utils

建立Docker仓库 (映射仓库地址)

sh 复制代码
sudo yum-config-manager   --add-repo     https://download.docker.com/linux/centos/docker-ce.repo

5、安装Docker引擎

sh 复制代码
 sudo yum install docker-ce docker-ce-cli containerd.io

6、启动Docker

sh 复制代码
sudo systemctl start docker

7.设置docker镜像仓库

有时候,我们pull镜像的时候非常慢,所以需要设置一下国内的镜像仓库作为下载源

sh 复制代码
第一步:新建或编辑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

以下列举出国内的几个下载地址:

sh 复制代码
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 上下载它的二进制包来使用,最新发行的版本地址:github.com/docker/comp...

运行以下命令以下载 Docker Compose 的当前稳定版本:

sh 复制代码
$ 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。

sh 复制代码
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

将可执行权限应用于二进制文件:

text 复制代码
$ sudo chmod +x /usr/local/bin/docker-compose

创建软链:

text 复制代码
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试是否安装成功:

text 复制代码
$ docker-compose version
cker-compose version 1.24.1, build 4667896b

9.docker常用命令

基本命令

  1. 启动 Docker 服务

    sh 复制代码
    systemctl start docker
  2. 检查 Docker 版本

    sh 复制代码
    docker --version

镜像操作

  1. 从 Docker Hub 拉取镜像

    sh 复制代码
    docker pull <image_name>

    例如:

    sh 复制代码
    docker pull nginx
  2. 列出本地镜像

    sh 复制代码
    docker images
  3. 删除本地镜像

    sh 复制代码
    docker rmi <image_name>
  4. 构建镜像

    sh 复制代码
    docker build -t <image_name> .

容器操作

  1. 运行容器

    sh 复制代码
    docker run -it --name <container_name> <image_name>

    例如:

    sh 复制代码
    docker run -it --name my_nginx nginx
  2. 列出运行中的容器

    sh 复制代码
    docker ps
  3. 列出所有容器(包括停止的容器)

    sh 复制代码
    docker ps -a
  4. 停止容器

    sh 复制代码
    docker stop <container_name>
  5. 启动已停止的容器

    sh 复制代码
    docker start <container_name>
  6. 删除容器

    sh 复制代码
    docker rm <container_name>
  7. 进入运行中的容器

    sh 复制代码
    docker exec -it <container_name> /bin/bash

数据卷操作

  1. 创建数据卷

    sh 复制代码
    docker volume create <volume_name>
  2. 列出数据卷

    sh 复制代码
    docker volume ls
  3. 删除数据卷

    sh 复制代码
    docker volume rm <volume_name>

网络操作

  1. 创建网络

    sh 复制代码
    docker network create <network_name>
  2. 列出网络

    sh 复制代码
    docker network ls
  3. 删除网络

    sh 复制代码
    docker network rm <network_name>

其他操作

  1. 查看容器日志

    sh 复制代码
    docker logs <container_name>
  2. 检查 Docker 系统资源使用情况

    sh 复制代码
    docker system df

安装Jenkins

1.拉取 Jenkins 镜像

从 Docker Hub 拉取最新的 Jenkins 镜像。

bash 复制代码
docker pull jenkins/jenkins:lts

2.创建 Docker 卷

/usr/local/src/ 目录下创建一个用于存储 Jenkins 数据的目录。

bash 复制代码
mkdir -p /usr/local/src/jenkins/data

3.运行 Jenkins 容器

使用 Docker 启动 Jenkins 容器,并挂载前面创建的目录。

bash 复制代码
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 代理通信。

如果启动失败,查看容器日志,

sh 复制代码
docker logs 容器ID

如果是如下报错

sh 复制代码
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?

那就给容器挂载目录授权

sh 复制代码
sudo chown -R 1000:1000 /usr/local/src/jenkins
sudo chown -R 1000:1000 /usr/local/src/jenkins/*

3.验证部署

打开浏览器并访问 http://<你的主机IP>:8080,在首次启动时,Jenkins 将生成一个初始管理员密码。可以通过以下命令查看初始密码:

sh 复制代码
docker logs 容器ID

或者直接查看文件中的密码

sh 复制代码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

初始化配置完成后,可以使用 Jenkins Web 界面创建新的用户、配置插件和管理 Jenkins 实例。

4.其他常用 Docker 命令

  • 查看容器日志:

    bash 复制代码
    docker logs -f jenkins
  • 进入容器内部:

    bash 复制代码
    docker exec -it jenkins /bin/bash
相关推荐
爱勇宝8 小时前
第 1 章:别把“需求文档”当成真正的需求
前端·后端·程序员
IT_陈寒13 小时前
闭包陷阱让我加了两天班,JavaScript你真行
前端·人工智能·后端
易协同低代码14 小时前
通达OA核心类库TD类深度解析
后端
Gopher_HBo14 小时前
Go语言学习笔记(十八)Gin处理Session
后端
谭光志15 小时前
工具塞满上下文窗口怎么办?深度拆解 AI Agent Tool Search 按需加载实现原理
前端·后端·ai编程
她说..15 小时前
Java 默认值设置方式
java·开发语言·后端·springboot
foggyprojects15 小时前
从0开始,一句话启动AI DataAgent
后端·数据分析·ai编程
郡杰15 小时前
一些基础和问题解决
后端
陈随易15 小时前
前端项目部署只要30秒
前端·后端·程序员
YIAN15 小时前
从零手写文件读取 MCP 服务:一文吃透 Model Context Protocol 全链路通信原理
前端·后端·mcp