使用 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
相关推荐
NiNg_1_2341 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
Chrikk2 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*2 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue2 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang
杜杜的man2 小时前
【go从零单排】go语言中的指针
开发语言·后端·golang
customer084 小时前
【开源免费】基于SpringBoot+Vue.JS周边产品销售网站(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·java-ee·开源
Yaml45 小时前
智能化健身房管理:Spring Boot与Vue的创新解决方案
前端·spring boot·后端·mysql·vue·健身房管理
小码编匠6 小时前
一款 C# 编写的神经网络计算图框架
后端·神经网络·c#