centos7 docker 掛載檔案思路
今天小夥伴提供了新的檔案伺服器,讓使用掛載方式,由於第一次沒有經驗,特此記錄下。
關於掛載挺簡單的, 就 mount 關鍵字, 更多內容可以參考以下文章:
1、圖解Linux中的掛載原理:https://www.solves.com.cn/it/rj/czxt/linux/2019-05-21/483.html
2、mount掛載相關引數詳解:https://www.cnblogs.com/xiaofeng666/p/10100906.html
3、Linux遠端目錄掛載:https://www.cnblogs.com/zh94/p/11922744.html
4、CentOS 7 掛載遠端共享目錄:https://sonicshield.cn/linux-nfs.html
由於使用的是centos7伺服器,所以實際按照上面第四篇執行就可以順利掛載成功,因為原文非部落格園文章,為防止以後站點404,特此記錄下來:
------------------------------------------------------------------------------------
第一步:
首先執行如下命令安裝 nfs-utils 和 rpcbind:
yum -y install nfs-utils rpcbind
啟動 nfs & rpcbind,有的建議說為了避免錯誤要先執行啟動rpcbind 再執行啟動 nfs
systemctl start rpcbind systemctl start nfs
以上安裝啟動步驟,不管是要被掛載的源伺服器 還是 執行掛載的目標伺服器 都需要。
第二步:(被掛載端檔案伺服器端—源伺服器,我這裡因為是掛載端—目標伺服器,所以不需要執行這一步,直接執行第三步)
建立要共享的資料夾,並設定許可權(假設共享資料夾所在機器 IP 為:66.66.66.6)
mkdir -p /data/share
chmod -R 777 /data/share
新增檔案訪問許可權到這個檔案中 /etc/exports 並使其生效
//允許 66.*.*.* 的 IP 段訪問此資料夾
/data/share 66.*.*.*(rw, no_root_squash, no_all_squash, sync)
exportfs -r
第三步:
將上一步建立的資料夾掛載到自己的機器上
mount -t nfs 66.66.66.6:/data/serverDir /data/clientDir
擴充套件閱讀
開機自動掛載
vim /etc/fstab
66.66.66.6:/data/serverDir /data/clientDir nfs defaults 0 0
開機自動啟動
systemctl enable rpcbind.service
systemctl enable nfs-server.service
原文地址:https://www.cnblogs.com/jying/p/12173090.html
作者:一定會去旅行
歡迎任何形式的轉載,但請務必註明出處。
限於本人水平,如果文章和程式碼有表述不當之處,還請不吝賜教。
但我這裡的服務是配置在jenkins中的定時任務,而且還在docker中,因為docker要掛載伺服器本機,所以就有許可權問題,關於docker jenkins 在 centos 7 中的搭建,可以參考我之前的文章:https://www.cnblogs.com/jying/p/12173090.html
因為docker jenkins 中資料夾許可權為jenkins,而且我們已經掛載過 jenkins的配置檔案到虛擬機器,所以再掛載共享資料夾的時候應該掛載到虛擬機器的jenkins資料夾中,比如,我上面文章中的jenkins掛載在/www/my_jenkins 下,那麼就繼續在此資料夾下新增資料夾data用來掛載~~
資料夾 /data/downloads 已經掛載在docker jenkins 下,那麼只需執行如下: mount -t nfs 66.66.66.6:/data /www/my_jenkins/data/downloads
mount 預設的規則是後掛載的目錄會將前面掛載的目錄檔案隱藏(不是刪除),這個通過取消掛載(umount)就可還原顯示,此處不詳細解釋了。
不管第幾次掛載之後新增刪改的檔案都會顯示。
還是拿上面的例子,比如原來的data/downloads資料夾下有檔案1,添加掛載66.66.66.6後原來的檔案1便看不見了,這時候不管是66.66.66.6中增刪改檔案還是jenkins中增刪改檔案,都會在掛載的66.66.66.6上且兩個伺服器都顯示可見。