docker 搭建jenkins, 宿主機掛載路徑uid,gid均正確卻還報Permission denied,請考慮是否是selinux緣故
1)建立jenkins容器:
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home jenkins
(note:docker中jenkins的uid,gid預設都是1000,因此宿主機的路徑必須也要設定成相同的許可權)
2)檢查容器狀態:
docker ps -a
3)如果還是exit(1),docker logs <container id>提示permission denied的情況,請檢查宿主機是否開啟selinux:
宿主機切換jenkins使用者,id命令檢視到:
bash-4.2$ id
uid=1000(jenkins) gid=1000(jenkins) groups=1000(jenkins)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
而docker環境下id命令結果沒有上面標紅:
[[email protected] jenkins_home]# docker run -ti --rm --entrypoint="/bin/bash" jenkins -c "id"
uid=1000(jenkins) gid=1000(jenkins) groups=1000(jenkins)
宿主機下執行/usr/sbin/sestatus -v命令檢視selinux狀態:
[[email protected] jenkins_home]# /usr/sbin/sestatus -v
SELinux status: enabled
那麼就可以判定selinux是開啟的
4)那麼處理方法有兩種:
a.關閉selinux(網上搜一搜方法)
b.不關閉selinux的情況下,修改宿主機jenkins掛載目錄的許可權:
在宿主機執行ls -Z可以檢視selinux資訊,
[[email protected] jenkins_home]# ls -Za
drwxr-xr-x. jenkins jenkins system_u:object_r:var_t:s0 .
drwxr-xr-x. root root system_u:object_r:var_t:s0 ..
那麼同樣在docker環境下檢視selinux資訊,
[[email protected] jenkins_home]# docker run -ti --rm --entrypoint="/bin/bash" jenkins -c "cd /var/jenkins_home;ls -Zal"
total 20
drwxr-xr-x. 2 jenkins jenkins system_u:object_r:svirt_sandbox_file_t:s0 4096 Dec 8 07:57 .
drwxr-xr-x. 12 root root system_u:object_r:svirt_sandbox_file_t:s0:c365,c598 4096 Nov 8 21:55 ..
比較第三列確有差異。
接下來手動修改/var/jenkins_home目錄的selinux許可權即可:
[[email protected] jenkins_home]# chcon -R -t svirt_sandbox_file_t .
[[email protected] jenkins_home]# ls -aZl
total 84
drwxr-xr-x. 13 system_u:object_r:svirt_sandbox_file_t:s0 jenkins jenkins 4096 Dec 8 15:21 .
drwxr-xr-x. 21 system_u:object_r:var_t:s0 root root 4096 Dec 7 14:28 ..
5)重啟jenkins
docker restart <container id>
或者刪除舊的容器,新建:
docker rm <container id>
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home jenkins
相關推薦
docker 搭建jenkins, 宿主機掛載路徑uid,gid均正確卻還報Permission denied,請考慮是否是selinux緣故
1)建立jenkins容器: docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home jenkins (note:docker中jenki
centos7數據庫連接使用127.0.0.1報permission denied,使用localhost報No such file or directory
臨時 pro target lamp環境 processes sele mount sdn -i 安裝lamp環境後,測試數據庫連接。 當host使用127.0.0.1時,報錯:(HY000/2002): Permission denied。 把host換成localhos
Esxi6.0-U1 宿主機掛載EMC存儲報錯
emc esxi 存儲 時間:2016-7-4事件:esxi6.0主機掛載存儲報錯解決辦法:原來這是vSphere 6的一個已知bug,解決方法是重啟管理代理,方法有兩種。一是去ESXi主機控制臺上按F2,以root登陸,然後選擇Restart Management Agents。二是通過SSH登
virtualBox NAT模式,設置虛擬機可上網,宿主機可訪問虛擬機的方法
設置 PV TP alt mage === box href 想要 環境描述: 宿主機:windows Server 2008 64bit,IPV4地址,有網絡。 宿主機上的主要軟件環境: virtualBox 5.0.24 virtualBox中安裝了
VirtualBox網絡環境配置,宿主機與虛擬機互聯,同時虛擬機也可以使用互聯網
linux image mark 虛擬網卡 pre sco 編輯器 連接 使用 最近在折騰虛擬機,在VirtualBox 上安裝centOS 7 ,安裝過程再次不說互聯網上一大堆,咱們這裏只說虛擬機網絡配置問題。 配置網卡1 在高級裏設置去全部允許 網卡2 高級裏同樣
基於docker搭建jenkins+maven程式碼構建部署平臺
由於專案開發,經常需要在本地搭一些環境進行開發或測試,大家知道搭環境、裝軟體、裝中介軟體是件非常麻煩的事情,有些軟體的安裝可能需要依賴其它環境的安裝,如安裝rabbitmq首先需要Erlang語言環境,一整套安裝下來不僅浪費時間而且還各種問題出現,嚴重影響
Docker+Jenkins持續整合環境(1)使用Docker搭建Jenkins+Docker持續整合環境
來源:https://www.cnblogs.com/xiaoqi/p/docker-jenkins-cicd.html 本文介紹如何通過Jenkins的docker映象從零開始構建一個基於docker映象的持續整合環境,包含自動化構建、釋出到倉庫\並部署上線。 0. 前置條件 伺服器安
virtualBox NAT模式,設定虛擬機器可上網,宿主機可訪問虛擬機器的方法
環境描述: 宿主機:windows Server 2008 64bit,IPV4地址,有網路。 宿主機上的主要軟體環境: virtualBox 5.0.24 virtualBox中安裝了CentOS 7.2版本。 由於在virtualBox的網路模式中選擇了
基於consul的Docker-overlay跨多宿主機容器網路
環境限制必須安裝key-value儲存服務,如consul宿主機已經安裝docker engine宿主機的hostname必須不同核心大於3.16環境準備及角色分配兩臺ubuntu的server主機名ip核心啟動docker容器名稱docker engine版本consul服
Linux 下 Docker 埠對映到宿主機後 外部無法訪問對應宿主機埠
問題描述 原因 解決問題 問題描述 前段時間使用 Docker 裝了 GitLab,SSH 配置都已經配置完畢,容器埠和宿主機埠也對映完畢。Firewall 和 SELinux 也已經關閉。 1、在宿主機上訪問對應的埠使用
十、Docker網路以及跨宿主機通訊
講在前面: 1.目前實現的是單機部署,如何建立映象,管理映象;如何建立容器,管理容器;如何快速建立docker虛擬主機machine,如何快速部署多元件專案compose以及如何跨宿主機建立叢集swarm。 2.docker單機通訊是docker0橋接eth
docker搭建jenkins
進入 基本 搭建 安裝 點擊 我們 權限 bsp ins 這裏是在linux環境下安裝docker之後,在doucer內安裝jenkins --------------------docker 安裝 jenkins-----------------------------
CentOS7.4中Docker以rw方式掛載volume報Permission denied問題
一、問題背景 今天在CentOS7.4.1708上實踐Docker掛載volume,一切按照正常流程進行操作,無論是建立目錄、建立檔案、還是檢視、編輯主機上建立好的檔案,都報"Permission denied",具體如下: [[email protected]
MySQL密碼正確卻無法本地登錄,ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
oot 問題 進入 quit mysql數據庫 host 對比 strong In MySQL密碼正確卻無法本地登錄 報錯如下: ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using pas
Permission denied,解決方法
Permission denied: 出現的原因的是:沒有許可權進行讀、寫、建立檔案、刪除檔案等操作。 解決方法:輸入命令 sudo chmod -R 777 /工作目錄, 例如:sudo chmode -R 777 /home/HDD,此時就可以在該路徑下進行一系列的
Linux解決問題篇——ftp上傳檔案(使用put)時,permission denied,下載檔案(使用get)時,failed to open file
使用ftp連線本地伺服器時,在上傳put時出現問題,幾番折騰,最終解決。 我的操作流程:1、要上傳的檔案存在/tmp中,名稱為testfile,這個檔案我是使用dd建立的:dd if=/dev/zero of=/tmp/testfile bs=1M count=200,這
【docker】docker容器和宿主機之間檔案互傳,互相拷貝
原文地址:https://www.cnblogs.com/areyouready/p/8973495.html 【注意:命令中符號均為英文符號】 1、從容器裡面拷檔案到宿主機 答:在宿主機裡面執行以下命令  
利用docker-compose實現elk+redice的但宿主機環境搭建
第一步 環境準備---工作目錄準備 1)C:\Users\xu\Desktop\elkcompose\compose\elk_stack 2)C:\Users\xu\Desktop\elkcompose\elasticsearch\config 3)C:\Users\xu\
使用Docker搭建開發環境,包括(nginx,redis,mysql,gitlab,nexus3,activemq,jenkins)
使用Docker搭建開發環境 自從玩了Docker,深深的被Docker迷住,做了這麼多年軟體,都沒想到軟體會發展到這種階段,使用容器隔離技術,將各個服務程序隔離。 記錄一下自己為新成立的部門使用Docker搭建開發環境的過程,這裡只是簡粗暴的記錄下執行命令
如何讓docker容器和宿主機在一個網段,並組成區域網
假設我們有 A , B , C 3臺機器 A: 192.168.1.10 B: 192.168.1.11 C: 192.16