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

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

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

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

第一部分:升級(jí)JDK到Java 21

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

步驟1:檢查當(dāng)前Java版本

# 查看當(dāng)前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
?
# 驗(yàn)證安裝
java -version

預(yù)期輸出:

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)默認(rèn)Java版本

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

# 配置默認(rèn)Java版本
sudo update-alternatives --config java
?
# 會(huì)顯示類似以下內(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
?
# 輸入序號(hào)選擇Java 21(通常是最新版本的序號(hào))
# 例如輸入: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
?
# 驗(yàn)證JAVA_HOME
echo $JAVA_HOME
java -version

步驟5:卸載舊版本Java

注意:確認(rèn)新版本工作正常后再卸載舊版本

# 列出所有Java相關(guān)包
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:驗(yàn)證升級(jí)結(jié)果

# 檢查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
?
# 設(shè)置密鑰權(quán)限
sudo chmod a+r /etc/apt/keyrings/docker.gpg

步驟4:添加Docker倉(cāng)庫(kù)

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及相關(guān)組件
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

步驟6:?jiǎn)?dòng)并設(shè)置Docker開機(jī)自啟

# 啟動(dòng)Docker服務(wù)
sudo systemctl start docker
?
# 設(shè)置開機(jī)自啟動(dòng)
sudo systemctl enable docker
?
# 檢查Docker狀態(tài)
sudo systemctl status docker

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

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

步驟8:驗(yàn)證Docker安裝

# 檢查Docker版本
docker --version
?
# 運(yùn)行測(cè)試容器
docker run hello-world

預(yù)期輸出:

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

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

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

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

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

# 直接運(yùn)行命令:
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
?
# 驗(yàn)證
docker info | grep -A 10 "Registry Mirrors"
# 測(cè)試?yán)$R像
docker run hello-world
# 如果成功,應(yīng)該看到:
# Hello from Docker!
# This message shows that your installation appears to be working correctly.

第二部分:安裝Docker Compose

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

# 檢查Docker Compose版本
docker compose version

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

如果沒有安裝,手動(dò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í)行權(quán)限
sudo chmod +x /usr/local/bin/docker-compose
?
# 創(chuàng)建軟鏈接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
?
# 驗(yàn)證安裝
docker-compose --version

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

步驟1:創(chuàng)建項(xiàng)目目錄結(jié)構(gòu)

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

步驟2:設(shè)置目錄權(quán)限

# Jenkins容器內(nèi)使用UID 1000運(yùn)行
# 需要給jenkins_home目錄正確的權(quán)限
sudo chown -R 1000:1000 jenkins_home
?
# 驗(yàn)證權(quán)限
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使用主機(jī)的Docker
      - /var/run/docker.sock:/var/run/docker.sock
      # 掛載Docker二進(jìn)制文件(可選,用于在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:?jiǎn)?dòng)Jenkins容器

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

預(yù)期輸出:

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

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

#解決方法:是網(wǎng)絡(luò)原因,修改一下鏡像就行
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

預(yù)期:Running from: /usr/share/jenkins/jenkins.war等

但是我的預(yù)期結(jié)果中有一個(gè)警告就是我在compose文件中寫的版本號(hào)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啟動(dòng)(約1-2分鐘)

# 實(shí)時(shí)查看啟動(dòng)日志
docker compose logs -f jenkins
?
# 看到以下信息說明啟動(dòng)成功:
# 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

復(fù)制顯示的密碼,例如:a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6

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

步驟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. 登錄阿里云控制臺(tái)

  2. 進(jìn)入 ECS控制臺(tái)

  3. 選擇你的實(shí)例

  4. 點(diǎn)擊 安全組配置

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

  6. 點(diǎn)擊 手動(dòng)添加快速添加

添加以下規(guī)則:

端口范圍授權(quán)對(duì)象說明
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ù)器公網(wǎng)IP:8080/jenkins

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

步驟2:解鎖Jenkins

  1. 頁(yè)面會(huì)顯示 "Unlock Jenkins"

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

  3. 點(diǎn)擊 Continue

步驟3:安裝插件

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

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

推薦額外安裝的插件:

  • Git plugin(通常已包含)

  • Pipeline plugin(通常已包含)

  • HTML Publisher(生成測(cè)試報(bào)告)

  • Docker plugin(Docker支持)

  • Docker Pipeline(Docker Pipeline支持)

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

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

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

填寫以下信息:

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

  • 密碼:設(shè)置強(qiáng)密碼

  • 全名:你的名字

  • 郵箱:你的郵箱

點(diǎn)擊 Save and Continue

步驟5:實(shí)例配置

Jenkins URL會(huì)自動(dòng)填充為:http://你的IP:8080/Jenkins

點(diǎn)擊 Save and Finish

步驟6:開始使用Jenkins

點(diǎn)擊 Start using Jenkins

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

之后應(yīng)該會(huì)寫配置代碼倉(cāng)庫(kù)然后定時(shí)構(gòu)建之類的,bye~

總結(jié) 

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

相關(guān)文章

  • docker部署etcd實(shí)踐過程

    docker部署etcd實(shí)踐過程

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

    Docker搭建Elasticsearch集群和Kibana全過程

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

    Docker拉取與部署OpenJDK到實(shí)際應(yīng)用的完整流程

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

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

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

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

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

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

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

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

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

    啟動(dòng)桌面Docker提示虛擬服務(wù)未啟動(dòng)兩種解決方案

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

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

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

    解決docker pull鏡像報(bào)錯(cuò)的問題

    這篇文章主要介紹了解決docker pull鏡像報(bào)錯(cuò)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2021-03-03

最新評(píng)論

华宁县| 敦煌市| 沂南县| 山东| 广饶县| 双流县| 贵州省| 延寿县| 微山县| 兴安县| 安化县| 丰城市| 中山市| 香格里拉县| 南汇区| 临澧县| 胶州市| 深圳市| 凤山县| 瓦房店市| 大冶市| 余干县| 武义县| 密云县| 平塘县| 宜州市| 财经| 江津市| 嘉善县| 绿春县| 灌阳县| 大港区| 柘荣县| 阿图什市| 福泉市| 崇明县| 灵山县| 三都| 西林县| 五峰| 荆门市|