1. 程式人生 > 實用技巧 >centos7 docker 掛載檔案思路

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上且兩個伺服器都顯示可見。