- docker run -v /srv/jenkins:/var/jenkins_home jenkins
大意是說 Container 裡原本有個必要、可讀寫的 /var/jenkins_home 目錄,我們可以把它拉出來方便管理。太棒了!但一試之下發現不單純:
- Permission denied
原來 /srv/jenkins 目錄是要先建好並授權:
- sudo mkdir /srv/jenkins
- sudo chown `whoami` /srv/jenkins
結果還是一樣?原來是 SELinux 的關係。在 CentOS 預設是開啟 SELinux 的,可以這麼確認:
- getenforce
短期(到下次重啟前)的控制,可透過 setenforce 指令;長期就要編輯 /etc/sysconfig/selinux 設定檔並重啟。若不想關閉 SELinux,還要多些準備工夫:
- docker run -v /srv/jenkins:/var/jenkins_home:Z jenkins
最後面的大寫 Z 代表「只有 Host 與那個 Container 分享」,若改小寫 z 代表「Host、那個 Container、其他 Container 都可分享」。
沒有留言:
張貼留言