CentOS 7 上使用 Docker 安裝 Jenkins 完整教程

目錄

前言

準備工作

系統要求

檢查系統信息

更新系統

安裝Docker

第一步:卸載舊版本Docker(如果存在)

第二步:安裝必要的軟件包

第三步:添加Docker官方倉庫

第四步:安裝Docker CE

第五步:啟動Docker服務

第六步:驗證Docker安裝

第七步:配置Docker用戶權限(可選但推薦)

拉取Jenkins鏡像

選擇Jenkins鏡像版本

查看下載的鏡像

創建Jenkins容器

第一步:創建數據目錄

第二步:運行Jenkins容器

第三步:驗證容器運行狀態

初始化Jenkins

第一步:獲取初始管理員密碼

第二步:訪問Jenkins Web界面

第三步:解鎖Jenkins

第四步:安裝插件

第五步:創建管理員用戶

第六步:實例配置

第七步:開始使用Jenkins

基礎配置

配置系統設置

Jenkins URL配置

郵件通知配置

全局工具配置

安全配置

插件管理

常見問題及解決方案

問題1:無法訪問Jenkins Web界面

問題2:Jenkins容器啟動失敗

問題3:Jenkins運行緩慢

問題4:忘記管理員密碼

問題5:插件安裝失敗

總結

下一步建議

有用的命令速查

相關資源


前言

Jenkins是一個開源的持續集成和持續部署(CI/CD)工具,廣泛用于自動化構建、測試和部署應用程序。使用Docker安裝Jenkins具有以下優勢:

  • 環境隔離:Jenkins運行在獨立的容器中,不會影響主機系統
  • 快速部署:幾分鐘內就能完成安裝
  • 易于管理:可以輕松備份、遷移和升級
  • 版本控制:可以使用不同版本的Jenkins鏡像

準備工作

系統要求

  • 操作系統:CentOS 7.x
  • 內存:至少2GB RAM(推薦4GB以上)
  • 磁盤空間:至少10GB可用空間
  • 網絡:能夠訪問互聯網下載鏡像

檢查系統信息

# 查看系統版本
cat /etc/redhat-release# 查看內存使用情況
free -h# 查看磁盤空間
df -h

更新系統

# 更新系統軟件包
sudo yum update -y

安裝Docker

第一步:卸載舊版本Docker(如果存在)

# 卸載可能存在的舊版本Docker
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

第二步:安裝必要的軟件包

# 安裝yum工具包
sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2

解釋

  • yum-utils:提供yum-config-manager實用程序
  • device-mapper-persistent-datalvm2:Docker的devicemapper存儲驅動程序需要

第三步:添加Docker官方倉庫

# 添加Docker CE穩定版倉庫
sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo

第四步:安裝Docker CE

# 安裝Docker CE
sudo yum install -y docker-ce docker-ce-cli containerd.io

第五步:啟動Docker服務

# 啟動Docker服務
sudo systemctl start docker# 設置Docker開機自啟
sudo systemctl enable docker# 查看Docker狀態
sudo systemctl status docker

第六步:驗證Docker安裝

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

如果看到"Hello from Docker!"的消息,說明Docker安裝成功!

第七步:配置Docker用戶權限(可選但推薦)

# 將當前用戶添加到docker組
sudo usermod -aG docker $USER# 重新登錄或執行以下命令使權限生效
newgrp docker# 測試是否可以不使用sudo運行docker命令
docker --version

拉取Jenkins鏡像

選擇Jenkins鏡像版本

Jenkins有兩個主要版本:

  • LTS版本:長期支持版本,更穩定(推薦)
  • 最新版本:包含最新功能,但可能不夠穩定
# 拉取Jenkins LTS版本(推薦)
docker pull jenkins/jenkins:lts# 或者拉取最新版本
# docker pull jenkins/jenkins:latest

查看下載的鏡像

# 查看本地Docker鏡像
docker images

你應該能看到類似這樣的輸出:

REPOSITORY          TAG       IMAGE ID       CREATED        SIZE
jenkins/jenkins     lts       xxxxxxxxxxxx   2 weeks ago    441MB

創建Jenkins容器

第一步:創建數據目錄

為了確保Jenkins數據持久化,我們需要在主機上創建一個目錄來存儲Jenkins數據:

# 創建Jenkins數據目錄
sudo mkdir -p /var/jenkins_home# 設置目錄權限(Jenkins容器內的用戶ID是1000)
sudo chown -R 1000:1000 /var/jenkins_h

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/91366.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/91366.shtml
英文地址,請注明出處:http://en.pswp.cn/web/91366.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

30.【.NET8 實戰--孢子記賬--從單體到微服務--轉向微服務】--單體轉微服務--公共代碼--用戶上下文會話

在前面的文章中,我們會看到使用ContextSession來獲取當前用戶的UserId和UserName。這篇文章我們就一起來看看如何實現ContextSession。 一、ContextSession的實現 我們在公共類庫SP.Common中創建一個名為ContextSession的類,用于獲取當前請求的用戶信息。…

BaseDao

#### 10.1 DAO概念> DAO:Data Access Object,數據訪問對象。 > > Java是面向對象語言,數據在Java中通常以對象的形式存在。一張表對應一個實體類,一張表的操作對應一個DAO對象!>> 在Java操作數據庫時&a…

USRP捕獲手機/路由器數據傳輸信號波形(中)

目錄: USRP捕獲手機/路由器數據傳輸信號波形(上) USRP捕獲手機/路由器數據傳輸信號波形(中) USRP捕獲手機/路由器數據傳輸信號波形(下) 三、雙工通信信號捕獲 3.1 信號接收系統 5805e6Hz&a…

使用 Kiro AI IDE 3小時實現全棧應用Admin系統

Hello, 大家好,我是程序員海軍, 全棧開發 |AI愛好者 | 獨立開發。 之前我是采用Node生態開發的大模型以及MCP Server,大模型開發的生態主要是Python語言,為了更好的學習大模型開發,于是開了新坑。開始學習Python, 以及…

瀏覽器pdf、image顯示

瀏覽器地址欄 pdf data:application/pdf;base64, data:application/pdf;base64,JVBERi0xLjcKJeLjz9MKMjMgMCBvYmoKPDwv image data:image/jpeg;base64, data:image/jpeg;base64,/9j/4Q3fRXhpZgAATU0AKgAAAAgABwE

《Linux運維總結:銀河麒麟V10 SP3啟動docker容器報錯permission denied》

總結:整理不易,如果對你有幫助,可否點贊關注一下? 更多詳細內容請參考:Linux運維實戰總結 一、環境信息 二、背景 1、使用docker啟動一個nginx容器,報錯信息如下: docker: Error response from…

PDF源碼解析

PDF源碼解析打開PDF解析PDF?0. 文件頭關鍵信息解析技術原理圖解文件頭的重要性實際文件結構示例開發者注意事項歷史背景1. 根目錄整體結構關鍵字段解析核心概念解釋實際應用場景完整對象關系圖技術總結2. 頁面樹對象結構關鍵字段解析頁面樹工作原理技術要點總結實際應用3. 圖像…

java開閉原則 open-closed principle

基本知識 1.核心思想:面向抽象編程 2.基本內涵:對修改關閉,對擴展開放 3.要求:盡可能不修改源碼而是增加新功能 例子 以spring5核心原理與30個類手寫實戰中的為例 package com.gupaoedu.vip.design.principle.openclose;/*** Crea…

擁抱智慧物流時代:數字孿生技術的應用與前景

概述 在數字經濟全面推進的當下,物流行業正經歷著前所未有的智能化升級。作為新一代信息技術的重要代表,數字孿生技術正悄然改變著物流的運作方式和決策模式。所謂數字孿生,是指在虛擬空間中創建與現實物流系統高度一致的數字模型&#xff0…

libnest2d-頭文件分析-libnest2d.hpp-幾何類型-策略類型-參數配置

libnest2d 庫的主頭文件,定義了一個用于 二維不規則形狀自動排樣(Nesting) 的C接口。以下是詳細解析:1. 頭文件結構 (1) 防止重復包含 #ifndef LIBNEST2D_HPP #define LIBNEST2D_HPP // ... #endif // LIBNEST2D_HPP確保頭文件只被…

【Docker】部署Docker可視化管理面板Dpanel

一、DPanel 介紹 1.1 DPanel 簡介 DPanel 是一款專為 Docker 設計的可視化管理面板,旨在降低容器、鏡像及相關資源的管理門檻。通過簡潔直觀的圖形化界面,即使是對 Docker 不熟悉的用戶,也能輕松上手,實現容器化應用的高效部署與管…

GCC/G++ + Makefile/make 使用

一、gcc\g編譯器 什么是gcc和g,它們的區別又是什么? gcc編譯器是專門用來編譯C語言的,而g編譯器既可以編譯C語言又可以用來編譯C,但是主要還是用來編譯C。 我們都知道代碼形成可執行程序都是需要經過預處理、編譯、匯編和鏈接這四…

重復文件查找工具:DataSecurity Plus 全面提升企業文件管理效率

企業日常運營經常會出現這樣的場景:員工在文件傳輸、共享與備份過程中,因操作不當或系統設置問題,出現文件重復存儲;跨部門協作時,相同的項目資料可能被多次保存;隨著數據遷移與系統升級,重復文…

【軟件架構】資源池架構設計中的三種主流模式

在資源池架構設計中,三種主流模式——集中式、分布式和混合式資源池——各有其獨特的優勢、劣勢和適用場景。理解它們的區別對于設計高效、可靠和可擴展的系統至關重要。 下面是對這三種模式的詳細分析和比較:集中式資源池 核心概念: 將所有計…

Java 類加載沖突

在某次線上部署過程中,我們遇到了一個十分詭異的問題:同樣的應用,在 ext3 文件系統下運行正常,但部署到 ext4 文件系統下卻出現了如下異常:The methods class, com.ctc.wstx.io.StreamBootstrapper, is available from…

VMware安裝 統信UOS桌面專業版

前言 近年來,隨著Linux發行版在開發者、企業環境中的應用逐漸增多,國產操作系統統信UOS(基于Debian)因其良好的圖形化界面和本地化支持,成為不少用戶體驗Linux生態的選擇之一。本文將以VMware Workstation Pro 17為例…

SAP Datasphere 02 - 建模

創建連接創建到 HANA Cloud 實例的連接查看 HANA Cloud實例連接 Endpoint創建連接選擇連接類型配置連接信息,授權方式,用戶名密碼等配置連接名稱驗證連接導入數據源表創建目錄 Hotel ,放置建模對象點擊新建目錄,導入遠程表選擇數據…

isasssim robotiq夾爪踩坑

1. usd導出urdf失敗在isasssim的仿真中的 robotiq 2f夾爪,首先目前4.5asset里面的usd不能直接轉urdf,因為模型中存在 “閉環連接”,即某個部件(或關節)同時與兩個及以上的父部件相連,形成類似 “三角形” 的…

50天50個小項目 (Vue3 + Tailwindcss V4) ? | Pokedex(寶可夢圖鑒)

📅 我們繼續 50 個小項目挑戰!—— Pokedex組件 倉庫地址:https://github.com/SunACong/50-vue-projects 項目預覽地址:https://50-vue-projects.vercel.app/ 使用 Vue 3 結合 PokeAPI 來創建一個炫酷的寶可夢圖鑒應用。通過這個…

【Practical Business English Oral Scene Interpretation】在職主持會議-安排任務+結束會議

文章目錄Introduction1. 討論代辦事項2. 分配工作任務3. 說明截止日期4. 說明截止日期5. 感謝參會者Introduction Note that each row of the table represents the content of the conversation in order. 1. 討論代辦事項 AlexBarryNoteLet’s review the to-dos from the…