一、環境準備
安裝Docker引擎
# CentOS 7示例
yum update -y && yum remove -y docker docker-common docker-selinux docker-engine
# Ubuntu 20.04示例
apt update -y && apt remove -y docker docker-engine docker.io containerd runc
yum install -y yum-utils device-mapper-persistent-data lvm2 # CentOS
apt install -y apt-transport-https ca-certificates curl software-properties-common # Ubuntu
# CentOS
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
# Ubuntu
add-apt-repository "deb [arch=amd64] $(lsb_release -cs) stable"
apt install -y docker-ce
systemctl start docker && systemctl enable docker
docker --version # 應輸出Docker版本信息
拉取Jenkins鏡像
推薦使用LTS(長期支持)版本以保證穩定性:
docker pull jenkins/jenkins:lts
二、Jenkins容器部署
運行Jenkins容器
執行以下命令啟動容器,關鍵參數說明:
-d:后臺運行容器;--name jenkins:指定容器名稱為jenkins;-p 8080:8080:將容器8080端口映射到主機8080端口(Web界面);-p 50000:50000:將容器50000端口映射到主機50000端口(Jenkins代理通信);-v jenkins-data:/var/jenkins_home:將容器內Jenkins數據目錄掛載到Docker卷jenkins-data(持久化數據,避免容器刪除后數據丟失);-v /var/run/docker.sock:/var/run/docker.sock:掛載主機Docker套接字,允許Jenkins直接調用主機Docker API(用于構建Docker鏡像等場景);-e JAVA_OPTS="-Duser.timezone=Asia/Shanghai -Xmx2g -Xms512m":設置Jenkins時區(可選)及JVM內存參數(根據服務器配置調整)。docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -e JAVA_OPTS="-Duser.timezone=Asia/Shanghai -Xmx2g -Xms512m" jenkins/jenkins:lts
獲取初始管理員密碼
容器啟動后,通過以下命令獲取初始密碼(用于解鎖Jenkins):
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
復制輸出的密碼,后續用于Web界面解鎖。
訪問Jenkins Web界面
在瀏覽器中輸入http://<服務器IP>:8080,輸入上述獲取的初始密碼,進入Jenkins初始化頁面。
三、Jenkins初始化配置
安裝插件
Git、Maven、Docker、Pipeline等);創建管理員用戶
在“創建第一個管理員用戶”頁面,填寫用戶名、密碼、郵箱等信息,點擊“保存并完成”。
完成初始化
點擊“開始使用Jenkins”,進入Jenkins主界面。
四、生產環境優化建議
使用Docker Compose管理容器
創建docker-compose.yml文件(簡化容器啟停及配置管理):
version: '3.8'
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
ports:
- "8080:8080"
- "50000:50000"
volumes:
- jenkins-data:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=Asia/Shanghai
- LANG=en_US.UTF-8
restart: always # 容器異常退出時自動重啟
volumes:
jenkins-data:
啟動容器:
docker-compose up -d
數據持久化增強
jenkins-data卷掛載到宿主機高可用存儲路徑(如/mnt/jenkins-data),避免單點故障;jenkins-data卷(可使用docker run --rm -v jenkins-data:/volume -v $(pwd):/backup busybox tar czf /backup/jenkins-backup.tar.gz -C /volume .命令)。安全加固