最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Jenkins?+?Docker完整部署指南(附詳細步驟)

 更新時間:2026年01月29日 09:46:10   作者:聲聲長樂  
Jenkins作為目前持續(xù)集成中使用較為廣泛的工具,在實際生產(chǎn)過程中通過結合眾多的插件,從而實現(xiàn)工程的持續(xù)構建、持續(xù)部署,這篇文章主要介紹了Jenkins?+?Docker完整部署的相關資料,需要的朋友可以參考下

我看了一些別人發(fā)的博客也用AI提供部署步驟,然后完整的部署配置了一遍,可以成功運行啦!PS:我的服務器是阿里云有折扣買的

第一部分:升級JDK到Java 21

我的jdk版本太低了,所以要升級一下

步驟1:檢查當前Java版本

# 查看當前Java版本
java -version
?
# 查看所有已安裝的Java版本
update-alternatives --display java

步驟2:安裝Java 21

# 更新軟件包列表
sudo apt update
?
# 安裝OpenJDK 21
sudo apt install -y openjdk-21-jdk openjdk-21-jre
?
# 驗證安裝
java -version

預期輸出:

openjdk version "21.0.x" 2024-xx-xx
OpenJDK Runtime Environment (build 21.0.x+xx-Ubuntu-...)
OpenJDK 64-Bit Server VM (build 21.0.x+xx-Ubuntu-..., mixed mode, sharing)

步驟3:配置系統(tǒng)默認Java版本

如果系統(tǒng)中有多個Java版本,需要設置默認版本:

# 配置默認Java版本
sudo update-alternatives --config java
?
# 會顯示類似以下內(nèi)容:
# Selection    Path                                         Priority   Status
# ------------------------------------------------------------
#   0            /usr/lib/jvm/java-21-openjdk-amd64/bin/java   2111      auto mode
#   1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode
# * 2            /usr/lib/jvm/java-21-openjdk-amd64/bin/java   2111      manual mode
?
# 輸入序號選擇Java 21(通常是最新版本的序號)
# 例如輸入:0 或 2
# 同樣配置javac
sudo update-alternatives --config javac

步驟4:配置JAVA_HOME環(huán)境變量

# 查找Java 21安裝路徑
sudo update-alternatives --config java
# 記下Java 21的路徑,例如:/usr/lib/jvm/java-21-openjdk-amd64
?
# 編輯環(huán)境配置文件
sudo nano /etc/environment

在文件中添加或修改 JAVA_HOME

JAVA_HOME="/usr/lib/jvm/java-21-openjdk-amd64"

保存并退出(Ctrl + O,Enter,Ctrl + X

# 使配置生效
source /etc/environment
?
# 驗證JAVA_HOME
echo $JAVA_HOME
java -version

步驟5:卸載舊版本Java

注意:確認新版本工作正常后再卸載舊版本

# 列出所有Java相關包
dpkg -l | grep -i jdk
?
# 卸載JDK 11
sudo apt remove -y openjdk-11-jdk openjdk-11-jre
?
# 清理殘留配置
sudo apt autoremove -y
sudo apt autoclean

步驟6:驗證升級結果

# 檢查Java版本
java -version
?
# 檢查javac版本
javac -version
?
# 檢查JAVA_HOME
echo $JAVA_HOME
?
# 檢查PATH
which java

全部顯示Java 21即為成功! ?

第二部分:安裝Docker

步驟1:卸載舊版本Docker(如果存在)

sudo apt remove docker docker-engine docker.io containerd runc

步驟2:更新系統(tǒng)并安裝依賴

# 更新軟件包索引
sudo apt update
?
# 安裝必要的依賴包
sudo apt install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release \
    software-properties-common

步驟3:添加Docker官方GPG密鑰

# 創(chuàng)建密鑰目錄
sudo mkdir -p /etc/apt/keyrings
?
# 下載并添加Docker GPG密鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
?
# 設置密鑰權限
sudo chmod a+r /etc/apt/keyrings/docker.gpg

步驟4:添加Docker倉庫

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list

步驟5:安裝Docker Engine

# 更新軟件包索引
sudo apt update
?
# 安裝Docker及相關組件
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

步驟6:啟動并設置Docker開機自啟

# 啟動Docker服務
sudo systemctl start docker
?
# 設置開機自啟動
sudo systemctl enable docker
?
# 檢查Docker狀態(tài)
sudo systemctl status docker

步驟7:配置Docker權限(重要)

# 創(chuàng)建docker用戶組(通常已存在)
sudo groupadd docker 2>/dev/null || true
?
# 將當前用戶添加到docker組
sudo usermod -aG docker $USER
?
# 刷新用戶組權限(二選一)
# exit 后重新連接服務器

步驟8:驗證Docker安裝

# 檢查Docker版本
docker --version
?
# 運行測試容器
docker run hello-world

預期輸出:

Hello from Docker!
This message shows that your installation appears to be working correctly.

如果看到以上信息,說明Docker安裝成功!?

?網(wǎng)絡問題,無法連接到Docker Hub,因為Docker Hub在國內(nèi)訪問不穩(wěn)定「failed to resolve reference "docker.io/library/hello-world:latest":」

解決方案:配置阿里云個人鏡像加速器

我買的阿里云的服務器所以可以登錄阿里云控制臺 → 容器鏡像服務 → 鏡像工具 → 鏡像加速器,會看到類似這樣的地址:https://xxxxx.mirror.aliyuncs.com

# 直接運行命令:
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://地址.mirror.aliyuncs.com",//替換成你的鏡像加速的地址
    "https://docker.1panel.live",
    "https://docker.rainbond.cc"
  ]
}
EOF
?
# 重啟Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
?
# 驗證
docker info | grep -A 10 "Registry Mirrors"
# 測試拉取鏡像
docker run hello-world
# 如果成功,應該看到:
# Hello from Docker!
# This message shows that your installation appears to be working correctly.

第二部分:安裝Docker Compose

Docker Compose已經(jīng)作為插件安裝,驗證一下:

# 檢查Docker Compose版本
docker compose version

如果顯示版本信息(如 Docker Compose version v2.x.x),說明已經(jīng)安裝成功!

如果沒有安裝,手動安裝:

# 下載Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
?
# 添加執(zhí)行權限
sudo chmod +x /usr/local/bin/docker-compose
?
# 創(chuàng)建軟鏈接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
?
# 驗證安裝
docker-compose --version

第三部分:使用Docker部署Jenkins(持久化配置,Java 21)

步驟1:創(chuàng)建項目目錄結構

# 創(chuàng)建Jenkins項目目錄(可以在你自己想放的目錄下,我的在/root/mynane/main下面創(chuàng)建的)
mkdir -p jenkins-docker
cd jenkins-docker
?
# 創(chuàng)建數(shù)據(jù)持久化目錄(一定要在jenkins-docker目錄下運行哦)
mkdir -p jenkins_home
?
# 查看當前目錄結構
pwd  # 應該顯示:/root/你的用戶名/jenkins-docker

步驟2:設置目錄權限

# Jenkins容器內(nèi)使用UID 1000運行
# 需要給jenkins_home目錄正確的權限
sudo chown -R 1000:1000 jenkins_home
?
# 驗證權限
ls -la jenkins_home

步驟3:創(chuàng)建docker-compose.yml配置文件

# 使用nano編輯器創(chuàng)建配置文件
vim docker-compose.yml

將以下內(nèi)容粘貼到文件中:

version: '3.8'
?
services:
  jenkins:
    image: jenkins/jenkins:lts-jdk21
    container_name: jenkins
    restart: unless-stopped
    privileged: true
    user: root
    ports:
      - "8080:8080"      # Jenkins Web界面
      - "50000:50000"    # Jenkins代理通信端口
    volumes:
      # 持久化Jenkins數(shù)據(jù)
      - ./jenkins_home:/var/jenkins_home
      # 允許Jenkins使用主機的Docker
      - /var/run/docker.sock:/var/run/docker.sock
      # 掛載Docker二進制文件(可選,用于在Jenkins中執(zhí)行docker命令)
      - /usr/bin/docker:/usr/bin/docker
    environment:
      - JAVA_OPTS=-Duser.timezone=Asia/Shanghai -Dhudson.model.DirectoryBrowserSupport.CSP=
      - JENKINS_OPTS=--prefix=/jenkins
    networks:
      - jenkins-network
?
networks:
  jenkins-network:
    driver: bridge
重要說明:
  • 使用 jenkins/jenkins:lts-jdk21 鏡像(支持最新的Jenkins LTS版本)

  • 如果想使用 Java 17,可以改為 jenkins/jenkins:lts-jdk17

保存文件:

  • esc

  • 輸入:wq 保存退出

步驟4:啟動Jenkins容器

# 啟動容器(后臺運行)
docker compose up -d
?
# 查看容器狀態(tài)
docker compose ps
?
# 查看容器日志
docker compose logs -f jenkins

預期輸出:

[+] Running 2/2
? Network jenkins-docker_jenkins-network  Created
? Container jenkins                       Started

我運行docker compose up -d失敗了「unknown: failed to resolve reference "docker.io/jenkins/jenkins:lts-jdk21":」

#解決方法:是網(wǎng)絡原因,修改一下鏡像就行
sudo tee /etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors": [
    "https://x1doswo1.mirror.aliyuncs.com",
    "https://docker.1panel.live",
    "https://docker.rainbond.cc",
    "https://docker.m.daocloud.io",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.nju.edu.cn",
    "https://mirror.baidubce.com"
  ]
}
EOF

然后在重啟一下:

sudo systemctl daemon-reload

sudo systemctl restart docker

再次執(zhí)行:

docker compose up -d

預期:Running from: /usr/share/jenkins/jenkins.war等

但是我的預期結果中有一個警告就是我在compose文件中寫的版本號version:

「docker-compose.yml: the attribute version is obsolete, it will be ignored, please remove it to avoid potential confusion」

解決方法:sed -i '/^version:/d' docker-compose.yml

步驟5:等待Jenkins啟動(約1-2分鐘)

# 實時查看啟動日志
docker compose logs -f jenkins
?
# 看到以下信息說明啟動成功:
# Jenkins is fully up and running

Ctrl + C 退出日志查看

步驟6:獲取Jenkins初始管理員密碼

# 方式1:從日志中查看
docker compose logs jenkins | grep -A 5 "initialAdminPassword"
?
# 方式2:從容器內(nèi)查看
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
?
# 方式3:從持久化目錄查看
cat jenkins_home/secrets/initialAdminPassword

復制顯示的密碼,例如:a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6

第四部分:配置服務器防火墻和安全組

步驟1:配置Ubuntu防火墻(UFW)

# 檢查防火墻狀態(tài)
sudo ufw status
?
# 如果防火墻未啟用,先啟用
sudo ufw enable
?
# 允許SSH(防止被鎖在外面!)
sudo ufw allow 22/tcp
?
# 允許Jenkins Web端口
sudo ufw allow 8080/tcp
?
# 允許Jenkins代理端口(如果需要)
sudo ufw allow 50000/tcp
?
# 重新加載防火墻
sudo ufw reload
?
# 查看規(guī)則
sudo ufw status numbered

步驟2:配置阿里云安全組

  1. 登錄阿里云控制臺

  2. 進入 ECS控制臺

  3. 選擇你的實例

  4. 點擊 安全組配置

  5. 點擊 配置規(guī)則入方向

  6. 點擊 手動添加快速添加

添加以下規(guī)則:

端口范圍授權對象說明
22/220.0.0.0/0SSH
8080/80800.0.0.0/0Jenkins Web
50000/500000.0.0.0/0Jenkins Agent

注意: 0.0.0.0/0 表示允許所有IP訪問,生產(chǎn)環(huán)境建議限制特定IP

第五部分:訪問和初始化Jenkins

步驟1:訪問Jenkins

在瀏覽器中打開:

http://你的服務器公網(wǎng)IP:8080/jenkins

例如:http://186.141.86.234:8080/jenkins

步驟2:解鎖Jenkins

  1. 頁面會顯示 "Unlock Jenkins"

  2. 粘貼之前獲取的初始管理員密碼

  3. 點擊 Continue

步驟3:安裝插件

選擇 "Install suggested plugins"(安裝推薦插件)

等待插件安裝完成(約5-10分鐘,取決于網(wǎng)絡速度)

推薦額外安裝的插件:

  • Git plugin(通常已包含)

  • Pipeline plugin(通常已包含)

  • HTML Publisher(生成測試報告)

  • Docker plugin(Docker支持)

  • Docker Pipeline(Docker Pipeline支持)

  • Blue Ocean(現(xiàn)代化UI)

  • Chinese (Simplified) plugin(中文支持)

步驟4:創(chuàng)建管理員用戶

填寫以下信息:

  • 用戶名:admin(或自定義)

  • 密碼:設置強密碼

  • 全名:你的名字

  • 郵箱:你的郵箱

點擊 Save and Continue

步驟5:實例配置

Jenkins URL會自動填充為:http://你的IP:8080/Jenkins

點擊 Save and Finish

步驟6:開始使用Jenkins

點擊 Start using Jenkins

恭喜!?? Jenkins已經(jīng)成功安裝并運行!

之后應該會寫配置代碼倉庫然后定時構建之類的,bye~

總結 

到此這篇關于Jenkins + Docker完整部署指南的文章就介紹到這了,更多相關Jenkins+Docker部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • docker部署etcd實踐過程

    docker部署etcd實踐過程

    文章介紹了如何創(chuàng)建網(wǎng)絡、啟動Etcd服務器實例并將其附加到app-tier網(wǎng)絡,以及如何啟動Etcd客戶端實例進行查詢
    2025-12-12
  • Docker搭建Elasticsearch集群和Kibana全過程

    Docker搭建Elasticsearch集群和Kibana全過程

    這篇文章主要介紹了Docker搭建Elasticsearch集群和Kibana全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • Docker拉取與部署OpenJDK到實際應用的完整流程

    Docker拉取與部署OpenJDK到實際應用的完整流程

    這篇文章主要介紹了Docker拉取與部署OpenJDK到實際應用的相關資料,包括鏡像拉取、容器運行、Java程序測試、Dockerfile構建優(yōu)化、容器管理、Spring Boot應用部署、數(shù)據(jù)持久化與網(wǎng)絡配置、常用問題與解決方案以及最佳實踐總結,需要的朋友可以參考下
    2025-11-11
  • docker啟動logstash失敗的問題及解決(可能原因)

    docker啟動logstash失敗的問題及解決(可能原因)

    這篇文章主要介紹了docker啟動logstash失敗的問題及解決(可能原因),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Docker使用Link在容器之間建立連接

    Docker使用Link在容器之間建立連接

    這篇文章主要介紹了Docker使用Link在容器之間建立連接的相關資料,需要的朋友可以參考下
    2016-10-10
  • docker nginx ssl設置的實現(xiàn)步驟

    docker nginx ssl設置的實現(xiàn)步驟

    本文主要介紹了docker nginx ssl設置的實現(xiàn)步驟,使用docker運行nginx,配置代理,和ssl設置,進行https訪問,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • 在IntelliJ IDEA中使用Docker的開發(fā)指南

    在IntelliJ IDEA中使用Docker的開發(fā)指南

    這篇文章主要給大家介紹了在IntelliJ IDEA中使用Docker開發(fā)指南,文中通過圖文介紹的非常詳細,對我們的使用Docker有一定的幫助,需要的朋友可以參考下
    2023-09-09
  • 啟動桌面Docker提示虛擬服務未啟動兩種解決方案

    啟動桌面Docker提示虛擬服務未啟動兩種解決方案

    Docker 是?個開源的應用容器引擎,可以實現(xiàn)虛擬化,這篇文章主要介紹了在啟動Docker?Desktop時遇到的錯誤,并提供了解決方案,文中通過代碼以及圖文介紹的非常詳細,需要的朋友可以參考下
    2025-04-04
  • docker搭建zookeeper集群和kafka集群并使用Java測試詳解

    docker搭建zookeeper集群和kafka集群并使用Java測試詳解

    本文詳細介紹了如何在Linux虛擬機中使用Docker搭建Kafka集群環(huán)境,并通過Kafka-Manager進行可視化管理,文章包括了從鏡像拉取、容器網(wǎng)絡設置、Zookeeper和Kafka集群搭建到測試和使用Java連接集群的全過程
    2026-01-01
  • 解決docker pull鏡像報錯的問題

    解決docker pull鏡像報錯的問題

    這篇文章主要介紹了解決docker pull鏡像報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論

康平县| 赤峰市| 无棣县| 白山市| 怀仁县| 宁安市| 青铜峡市| 海兴县| 黄大仙区| 星子县| 称多县| 南宫市| 泸州市| 阳原县| 密云县| 郁南县| 达孜县| 前郭尔| 峡江县| 准格尔旗| 黑龙江省| 汉寿县| 木里| 台南县| 临桂县| 石狮市| 家居| 陆河县| 临桂县| 南京市| 张掖市| 濮阳县| 城步| 敦化市| 长岭县| 和政县| 堆龙德庆县| 南郑县| 阿勒泰市| 墨玉县| 河北省|