Jenkins 使用宿主機的Docker

背景:不想在Jenkins 內部安裝Docker,想直接使用Jenkins服務所在的系統安裝的docker

當你在 Jenkins 中執行 docker 命令時,實際上是通過 Docker 客戶端與 Docker 守護進程進行通信。Docker 客戶端和守護進程之間的通信是通過一個名為 /var/run/docker.sock 的 Unix socket 進行的。默認情況下,只有 root 用戶和屬于 docker 組的用戶才有權限訪問這個 socket 文件。

當 Jenkins 嘗試運行 docker build 或其他 docker 命令時,它需要通過 /var/run/docker.sock 與 Docker 守護進程交互。如果 Jenkins 運行的用戶(通常是 jenkins)沒有足夠的權限訪問這個 socket 文件,就會出現類似下面的錯誤

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock

cd /var/run/
ls -l# 只有 root 和 docker 組的成員可以訪問/var/run/docker.sock
sudo chown root:docker /var/run/docker.sock
sudo chmod 660 /var/run/docker.sock# jenkins 用戶添加到 docker 組
sudo usermod -aG docker jenkins# 期望輸出:jenkins : jenkins docker
groups jenkins

# 檢查 Jenkins 用戶的 Shell 設置 非交互式(bin/false)
grep jenkins /etc/passwd# 將Jenkins 用戶的 shell 修改為 /bin/bash 或其他合適的交互式 shell
sudo usermod -s /bin/bash jenkins# 檢查
grep jenkins /etc/passwd

#將 Jenkins 用戶添加到 Docker 組
sudo usermod -aG docker jenkinssudo su - jenkins# 期望輸出 jenkins  如果不生效,嘗試重啟系統  reboot
whoami# 嘗試jenkins能否使用外部docker
docker ps

目前你看到的 -bash-4.2$ 是因為 Jenkins 用戶主目錄中沒有 .bashrc.bash_profile 等配置文件。你可以通過以下命令來修復這個問題:

exitcp /etc/skel/.bash* /var/lib/jenkins/
chown -R jenkins:jenkins /var/lib/jenkins/.bash*# 檢查
sudo su - jenkins

?

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

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

相關文章

工具+服務雙驅動:創客匠人打造中醫IP差異化競爭力

一、技術工具場景化定制:中醫專業的可視化破圈在中醫IP同質化嚴重的行業現狀下,創客匠人以場景化技術工具破解專業傳播難題。系統內置的“體質測試”模塊可生成個性化調理報告,“案例庫”支持前后對比圖上傳,“直播問診”自動添加…

JVM對象分配內存如何保證線程安全?

大家好,我是鋒哥。今天分享關于【JVM對象分配內存如何保證線程安全?】面試題。希望對大家有幫助; JVM對象分配內存如何保證線程安全? 超硬核AI學習資料,現在永久免費了! 在Java中,JVM&#xf…

機器學習中的數據對齊

文章目錄前言數據集怎么理解數據數據對齊為什么偏偏是這樣對齊?前言 在神經網絡中,我們往往會根據數據集構建訓練集、測試集,有時會有驗證集。但是,在構建完成后,如果直接將這些數據直接扔進模型訓練,輸入…

機器學習:更多分類回歸算法之決策樹、SVM、KNN

下面介紹的這幾種算法,既能用于回歸問題又能用于分類問題,接下來了解下吧。 決策樹 可參考: 決策樹(Decision Tree) | 菜鳥教程 決策樹(Decision Tree)是一種常用的監督學習算法,可用…

Vue 整合 Vue Flow:從零構建交互式流程圖

目錄引言目的適用場景環境準備基礎組件 (index.vue)自定義組件 (矩形、菱形等)RectangleNode.vue (矩形節點):DiamondNode.vue (菱形節點):ImageNode(自定義圖片節點):操作實現 (#操作實現) 拖拽節點 (#拖拽節點) 連線 (多連接點) 刪除節點 …

C# WPF - Prism 學習篇:搭建項目(一)

一、前期準備開發工具:Visual Studio 2022二、創建項目1、創建WPF 應用“WpfApp.StudyDemo”:2、項目結構如下: 三、安裝 Prism1、選中項目“WpfApp.PrismDemo”,在右鍵菜單中選擇“管理 NuGet 程序包(N)...”。2、在搜索框中輸入…

單片機 基于rt-thread 系統 使用 CCM內存

一、開發環境 開發板:野火stm32f407 系統:rt-thread V4.1.1 二、鏈接腳本配置 ; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ****************************…

【UnityAssetBundle】AB包卸載資源

AB包的卸載高效穩定游戲開發的強制要求,它解決了資源管理中的內存泄漏問題,為動態的內容加載、熱更新、大型世界的構建提供了內存保障,最終提升了游戲性能、穩定性和用戶體驗。卸載資源方式一(推薦使用):卸…

【萬字長文】深度學習2 yolov5修改為自己的數據集

數據預處理 使用labelme可以直接導出適用于yolo模型的txt文本數據,也可以直接導出默認的json數據結構,后面我會提供代碼進行轉換。自行進行標注,圖片與標注一一對應,更多要求不贅述。因為我做最簡單的檢索模型,不做切…

ubuntu18編譯RealSense SDK 2.0

參考文章:https://dev.intelrealsense.com/docs/compiling-librealsense-for-linux-ubuntu-guide1、安裝依賴 sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade sudo apt-get install libssl-dev libusb-1.0-0-dev libud…

算法學習筆記:9.Kruskal 算法——從原理到實戰,涵蓋 LeetCode 與考研 408 例題

在圖論的眾多算法中,Kruskal 算法以其簡潔高效的特性,成為求解最小生成樹(Minimum Spanning Tree,MST)的經典方法。無論是在通信網絡的優化設計、電路布線的成本控制,還是在計算機考研 408 的備考過程中&am…

Vue+Openlayers加載OSM、加載天地圖

文章目錄1. 介紹2. 加載底圖2.1 加載默認OSM地圖2.2 加載天地圖1. 介紹 Openlayers官網:https://openlayers.org/ 安裝依賴:npm i ol 2. 加載底圖 參考博客: vueopenlayers環境配置:https://blog.csdn.net/cuclife/article/det…

Python處理電子表格文件庫之pyexcel使用詳解

概要 pyexcel是一個功能強大的Python第三方庫,專門用于處理各種格式的電子表格文件。核心價值在于提供了統一的接口來讀取、寫入和操作Excel、CSV、ODS等多種電子表格格式,極大簡化了數據處理工作流程。與傳統的單一格式處理庫不同,pyexcel采用了插件化架構,使開發者能夠通…

【網絡安全】惡意 Python 包“psslib”仿冒 passlib,可導致 Windows 系統關閉

文章目錄惡意 Python 包“psslib”仿冒 passlib如何避免psslib的威脅惡意 Python 包“psslib”仿冒 passlib Socket 的威脅研究團隊發現了一個名為 psslib 的惡意 Python 包,旨在以提供密碼安全功能為幌子突然關閉 Windows 系統。 該軟件包由威脅行為者使用別名 u…

ai之對接電信ds后端服務,通過nginx代理轉發https為http,對外請求,保持到達第三方后請求頭不變

前置環境: 在微信小程序中嵌入H5頁面(智能客服),需要讓h5頁面在https的域名服務器上。即通過 nginx 部署成web服務,還得配置域名和端口443訪問。電信的第三方deepseek服務 ,只接收http請求,暫未…

第十四節:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入門 - Flask 后端 生產部署講解

Vben5 系列文章目錄 ?? 基礎篇 ? 第一節:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入門 ? 第二節:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入門 - Python Flask 后端開發詳解(附源碼) ? 第三節:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入…

Unity開發如何解決iOS閃退問題

一、iOS閃退常見原因及排查方法1. 內存問題(最常見原因) 癥狀表現: 設備發熱后閃退 加載大型場景時崩潰 控制臺出現EXC_RESOURCE RESOURCE_TYPE_MEMORY日志 解決方案: // 內存監控代碼 void Update() { Debug.Log($"內存使用…

【機器學習筆記 Ⅲ】5 強化學習

強化學習(Reinforcement Learning, RL) 強化學習是機器學習的一個分支,其核心思想是讓智能體(Agent)通過與環境(Environment)的交互學習最優策略(Policy),以最…

pytorch深度學習-卷積神經網絡CNN-MNIST-gpu加速

一、為什么需要 CNN?從圖像識別的 “麻煩” 說起假設你想讓電腦識別一張圖片里有沒有貓。 如果用傳統神經網絡:一張 100100 的彩色圖片,有 100100330000 個像素點,每個像素點都是一個輸入神經元。傳統網絡需要每個輸入神經元和隱藏…

【阿里巴巴JAVA開發手冊】IDE的text file encoding設置為UTF-8; IDE中文件的換行符使用Unix格式,不要使用Windows格式。

問題:當使用 IDEA SSH 遠程開發時,SFTP 同步的 Windows 本地編輯的 config/plugin_config 文件文本內容中 “換行符”與 Unix、Linux 的文件文本內容換行符字符集不一致,導致 docker 容器中自定義 /opt/seatunnel/bin/install_plugin 在執行以…