Jenkins Docker 部署指南

Jenkins Docker 部署指南

本文档为您提供了在 Docker 容器中部署 Jenkins 的全面指南,使用的是阿里云的容器镜像服务。请仔细遵循以下步骤以确保成功设置。

前提条件

  • 主机上安装了 Docker。
  • 拥有阿里云容器镜像服务的账户。

部署步骤

1. 登录阿里云容器镜像服务

首先,需要登录到阿里云的容器镜像服务:

bash 复制代码
docker login --username=docker@1508021535386021 registry.cn-shanghai.aliyuncs.com

密码: XXXXXXXXX

2. 创建数据目录

在主机上创建一个目录,用于存储 Jenkins 的数据:

bash 复制代码
mkdir -p /data/jenkins/webapps

3. 运行 Jenkins 容器

接下来,使用以下命令运行 Jenkins 容器:

bash 复制代码
docker run --privileged -d --name jenkins -p 8080:8080 registry.cn-shanghai.aliyuncs.com/jieyi/jenkins:20230530

您可以根据需要调整内存设置,例如:

bash 复制代码
docker run --privileged -d -m 1500M --memory-swap=2G --name jenkins -p 8080:8080 registry.cn-shanghai.aliyuncs.com/jieyi/jenkins:20230530

4. 停止 Jenkins 容器

在进行下一步之前,停止正在运行的 Jenkins 容器:

bash 复制代码
docker stop jenkins

5. 复制 Jenkins 数据

将 Jenkins 的配置数据从容器复制到主机指定目录:

bash 复制代码
cd /data
docker cp jenkins:/root/.jenkins /data/jenkins
docker cp jenkins:/root/.m2 /data/jenkins
docker cp jenkins:/root/.npm /data/jenkins

6. 移除旧的 Jenkins 容器

bash 复制代码
docker rm jenkins

7. 重新运行 Jenkins 容器

使用之前复制的数据卷,重新启动 Jenkins 容器:

bash 复制代码
docker run --privileged -d -m 1500M --memory-swap=2G -d --name jenkins \
-p 8080:8080 \
-e TZ="Asia/Shanghai" \
-v /data/jenkins/webapps/:/usr/local/tomcat/webapps/ \
-v /data/jenkins/.jenkins:/root/.jenkins \
-v /data/jenkins/.m2:/root/.m2 \
-v /data/jenkins/.npm:/root/.npm \
registry.cn-shanghai.aliyuncs.com/jieyi/jenkins:20230530

8. 更新 Jenkins WAR 文件

在需要时,您可以更新 Jenkins WAR 文件来获取最新版本的 Jenkins:

bash 复制代码
docker stop jenkins
cd /data/jenkins/webapps
rm -rf *
wget https://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/war-stable/2.440.2/jenkins.war
docker start jenkins
相关推荐
SkyWalking中文站10 小时前
认识 Horizon UI · 5/17:3D 基础设施地图
运维·监控·自动化运维
SkyWalking中文站1 天前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
雪梨酱QAQ1 天前
Kubeneters HA Cluster部署
运维
lichenyang4532 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4532 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4532 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4532 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
江华森2 天前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森2 天前
Matplotlib 数据绘图基础入门
运维
江华森2 天前
NumPy 数值计算基础入门
运维