云计算百科
云计算领域专业知识百科平台

服务器---centos上安装docker并使用docker配置jenkins

要在 Docker 中安装 Jenkins 并进行管理,可以按照以下步骤操作:

1. 安装 Docker

首先,确保你的系统已经安装了 Docker。如果尚未安装,可以使用以下命令进行安装:

在 CentOS 上安装 Docker

sudo yum install -y yum-utils
sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io

启动 Docker 并设置为开机启动:

sudo systemctl start docker
sudo systemctl enable docker

验证 Docker 是否成功安装:

docker –version

2. 拉取 Jenkins 镜像

使用 Docker 拉取 Jenkins 的官方镜像:

docker pull jenkins/jenkins:lts

3. 运行 Jenkins 容器

运行 Jenkins 容器,并映射端口和挂载卷:

docker run -d –name jenkins -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts

  • -d:后台运行容器。
  • –name jenkins:容器名称为 jenkins。
  • -p 8080:8080:将容器的 8080 端口映射到主机的 8080 端口。
  • -p 50000:50000:将容器的 50000 端口映射到主机的 50000 端口。
  • -v jenkins_home:/var/jenkins_home:挂载卷,用于持久化 Jenkins 数据。

4. 查看 Jenkins 容器状态

查看 Jenkins 容器是否正在运行:

docker ps

5. 访问 Jenkins

在浏览器中访问 http://<your-ip>:8080,按照提示完成 Jenkins 的初始设置。通常,你需要输入初始管理员密码,可以通过以下命令获取:

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

6. 管理 Jenkins 容器

以下是一些常用的 Docker 命令,用于管理 Jenkins 容器:

  • 启动容器:

    docker start jenkins

  • 停止容器:

    docker stop jenkins

  • 重启容器:

    docker restart jenkins

  • 查看容器日志:

    docker logs -f jenkins

  • 进入容器内部:

    docker exec -it jenkins bash

7. 配置 Jenkins

完成初始设置后,可以通过 Jenkins 的 Web 界面进行配置和管理。可以安装必要的插件,配置用户权限,以及创建和管理 Jenkins Job。

8. 使用 Docker Compose 管理 Jenkins

为了更方便地管理 Jenkins,可以使用 Docker Compose。以下是一个示例 docker-compose.yml 文件:

version: '3'
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
ports:
"8080:8080"
"50000:50000"
volumes:
jenkins_home:/var/jenkins_home
volumes:
jenkins_home:

启动 Jenkins 容器:

docker-compose up -d

知道如何安装,那如何卸载重装jenkins?

好的,继续进行 Jenkins 的重装和管理操作。以下是详细的步骤:

1. 停止并删除现有 Jenkins 容器

首先,确保 Jenkins 容器已经停止并删除:

docker stop jenkins
docker rm jenkins

2. 删除 Jenkins 数据卷(可选)

如果你希望彻底清除 Jenkins 的数据,可以删除 Jenkins 的数据卷:

docker volume rm jenkins_home

3. 拉取最新的 Jenkins 镜像

确保你使用的是最新的 Jenkins 镜像:

docker pull jenkins/jenkins:lts

4. 运行新的 Jenkins 容器

运行新的 Jenkins 容器,并映射端口和挂载卷:

docker run -d –name jenkins -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts

  • -d:后台运行容器。
  • –name jenkins:容器名称为 jenkins。
  • -p 8080:8080:将容器的 8080 端口映射到主机的 8080 端口。
  • -p 50000:50000:将容器的 50000 端口映射到主机的 50000 端口。
  • -v jenkins_home:/var/jenkins_home:挂载卷,用于持久化 Jenkins 数据。

5. 查看 Jenkins 容器状态

确认 Jenkins 容器是否成功启动:

docker ps

你应该能看到 Jenkins 容器正在运行。

6. 访问 Jenkins

在浏览器中访问 http://<your-ip>:8080,按照提示完成 Jenkins 的初始设置。通常,你需要输入初始管理员密码,可以通过以下命令获取:

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

通过nginx配置,实现域名访问Jenkins

  • 如果不配置,会以http:xxx.com:8080 访问,不太友好! 要在 Nginx 中配置 Jenkins 为固定路径,可以通过反向代理的方式将特定路径请求转发到 Jenkins 服务。以下是详细的配置步骤:

1. 安装 Nginx

如果尚未安装 Nginx,可以使用以下命令进行安装:

sudo yum install -y epel-release
sudo yum install -y nginx

启动 Nginx 并设置为开机启动:

sudo systemctl start nginx
sudo systemctl enable nginx

2. 配置 Nginx 反向代理

编辑 Nginx 配置文件,通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/ 目录下的某个配置文件。例如,编辑 /etc/nginx/conf.d/jenkins.conf 文件:

  • 如果不确定位置,可以通过find命令查询:

find / -iname nginx.conf
# 结果 甄别看下是哪个配置
# /usr/local/nginx/conf/nginx.conf
# /usr/local/nginx-1.27.2/conf/nginx.conf

我的是第一个,因为我采用安装包的方式安装的,不在/etc下

sudo vi /usr/local/nginx/conf/nginx.conf

添加以下内容:

  • 如果以前有配置其他server代理,建议新加一个server配置,以免访问混淆错乱

server {
listen 80;
server_name your-domain.com;

location / {
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

请将 your-domain.com 替换为你的实际域名。之后直接访问即替换最初的http:xxx.com:8080的访问方式!

3. 测试 Nginx 配置

保存并退出编辑器,然后测试 Nginx 配置是否正确:

sudo nginx -t

如果没有错误,重新加载 Nginx:

nginx -s reload

4. 访问 Jenkins

在浏览器中访问 http://your-domain.com/jenkins/,即可通过 Nginx 访问 Jenkins 服务。

5. 重启Jenkins 服务

保存并退出编辑器,然后重启 Jenkins 服务:

docker restart jenkins #个人使用docker管理的,所以doker重启

当然,操作过程中会遇到一些问题:

问题1. 拉取 Jenkins 镜像时,默认的docker镜像源速度极慢,需要更换镜像源

要将 Docker 镜像源改为阿里云镜像源,可以通过配置 Docker 的镜像加速器来实现。以下是详细的步骤:

1. 注册阿里云账号并获取镜像加速器地址

首先,确保你有一个阿里云账号。登录阿里云控制台,找到容器镜像服务(ACR),然后获取镜像加速器地址。通常,阿里云会提供一个类似 https://<your-accelerator-id>.mirror.aliyuncs.com 的地址。

  • 这里附一个对应地址:阿里云镜像加速服务地址
  • 根据地址内的不同服务器,去运行对应命令添加更换镜像源即可!
  • 以下是centos版本的命令,即拿即用:(使用此命令则忽略步骤2)

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://u2vy1ijp.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

2. 配置 Docker 使用阿里云镜像加速器

编辑 Docker 的配置文件 /etc/docker/daemon.json,添加镜像加速器设置:

sudo vi /etc/docker/daemon.json

在文件中添加以下内容:

{
"registry-mirrors": ["https://<your-accelerator-id>.mirror.aliyuncs.com"]
}

将 <your-accelerator-id> 替换为你从阿里云获取的实际加速器 ID。

3. 重启 Docker 服务

保存并退出编辑器,然后重启 Docker 服务以使配置生效:

sudo systemctl restart docker

4. 验证配置

重启 Docker 服务后,可以通过以下命令验证配置是否生效:

docker info

在输出信息中查找 Registry Mirrors,确保加速器地址正确配置。

5. 测试拉取镜像

尝试拉取一个镜像,验证加速器是否正常工作:

docker pull nginx:latest

如果配置正确,拉取速度应该会有所提升。

6. 常见问题排查

如果在配置过程中遇到问题,可以参考以下常见问题排查步骤:

  • 检查网络连接:确保系统有稳定的网络连接。
  • 检查配置文件:确保 daemon.json 文件格式正确,没有语法错误。
  • 检查 Docker 服务状态:确保 Docker 服务正在运行。
  • 检查防火墙设置:确保防火墙没有阻止 Docker 的网络请求。

通过以上步骤,你可以将 Docker 镜像源改为阿里云镜像源,从而提高镜像拉取速度和稳定性。希望这些信息对你有所帮助!

问题2. 在网页访问Jenkins时,不知道初始密码如何获取

  • 当然直接使用也是可以的:

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

![在这里插入图片描述](https://www.wsisp.com/helps/wp-content/uploads/2025/05/20250512120106-6821e302d3461.png)
1. 这里直接在服务器使用,是拿不到的:
```bash
cd /var/jenkins_home/secrets/initialAdminPassword

请根据以下步骤拿取初始密码: 当 Jenkins 管理员密码不在 /var/jenkins_home/secrets/initialAdminPassword 文件中时,可以通过以下步骤来处理:

1. 检查 Jenkins 日志

首先,检查 Jenkins 的日志文件,以获取更多关于启动失败的信息:

sudo tail -f /var/log/jenkins/jenkins.log

如果日志文件不存在,可以手动启动 Jenkins 并查看控制台输出:

sudo systemctl start jenkins
sudo journalctl -u jenkins -f

2. 重置 Jenkins 管理员密码

如果 Jenkins 已经启动,但找不到管理员密码,可以通过以下步骤重置密码:

1. 进入 Jenkins 容器

使用以下命令进入 Jenkins 容器:

docker exec -it jenkins bash

2. 进入 Jenkins 用户目录

进入 Jenkins 用户目录:

cd /var/jenkins_home

3. 生成新密码
  • 可先跳过该步骤,执行4,如果没有在回来执行步骤3 & 4 使用以下命令生成新密码:

printf $(openssl rand -base64 15)

记下生成的密码。

4. 直接在 /var/jenkins_home 目录中执行以下命令可以获取密码:

cd /var/jenkins_home/secrets/initialAdminPassword

总结

通过以上步骤,你可以使用 Docker 安装并管理 Jenkins。Docker 提供了灵活且可移植的方式来部署和管理 Jenkins 服务。希望这些信息对你有所帮助!

赞(0)
未经允许不得转载:网硕互联帮助中心 » 服务器---centos上安装docker并使用docker配置jenkins
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!