1. 程式人生 > >15、CentOS7 安裝Docker之擴充套件(使用sshfs掛載遠端volume)

15、CentOS7 安裝Docker之擴充套件(使用sshfs掛載遠端volume)

使用sshfs掛載遠端volume

我們已經討論過如何掛載本地檔案,不過很快我們就會遇到如何掛載遠端檔案系統的問題了。例如可能你想共享遠端伺服器上的資料庫並把它當作本地資料庫使用。
雖然理論上可以設定一個NFS伺服器並通過在你伺服器掛載目錄訪問遠端檔案,不過有一種對於大多數使用者快速簡單的方法,此方法不需要在伺服器端安裝任何軟體(只需要SSH)。

設定sshfs需要root許可權,並且需要安裝FUSE(Linux的“使用者空間檔案系統”核心模組)。你可以通過執行ls /dev/fuse來判斷系統是否已經安裝有。

問題

你想找到一個不需要配置伺服器端的方法來掛載遠端的檔案系統。

解決方法

使用sshfs來掛載遠端檔案系統

討論

sshfs通過使用FUSE核心模組提供的檔案系統標準介面和SSH訪問遠端檔案系統,所有的通訊使用SSH進行。SSHFS還提供了各種幕後功能(例如遠端檔案預讀),以讓我們覺得是在操作本地檔案。下圖說明它是如何工作的。

我們現在來做下試驗。首先在你主機執行一個帶–privileged引數的容器:

$ docker run -t -i --privileged debian /bin/bash

然後當它啟動後,在容器內部執行apt-get update && apt-get install sshfs安裝SSHFS。
當SSHFS安裝完成後,按如何登入遠端主機:

$ LOCALPATH=/path/to/local/directory

$ mkdir $LOCALPATH

$ sshfs [email protected]:/path/to/remote/directory $LOCALPATH

現在你應該能通過本地的$LOCALPATH目錄看到遠端主機的目錄內容了。
不需要時可以通過fusermount命令來取消掛載:

fusermount -u /path/to/local/directory

 

轉載地址:https://www.centos.bz/2016/11/mount-remote-docker-volume-with-sshfs/