人生成長最後一課,當然要更進一步去了解新的知識,只要前兩課有扎實的了解,那就勇於挑戰更高的技術,這樣才能擺脫菜鳥往老鳥的路向前邁進
前面都是在自己的本機裡討論 Volume,但在這世代不可能只在自己的電腦做操作吧,生活中離不開網路世界,所以我們現在材能更有效率做很多事,第三堂課就是要討論Remote Volume
Remote Volume是一種將容器與遠程存儲服務(如 Amazon S3)關聯的 volume。這允許容器與遠程存儲進行數據交換
我利用Vagrant的方式創建出3台Server
(這邊不特別講Vagrant,提供一個Vagrant的學習)
在我創建 Volume 必須定義 driver,這邊 driver 我選擇vieux/sshfs,vieux/sshfs映像的主要目的是遠程主機,在 Docker 中,vieux/sshfs 不是 volume 驅動程序,而是一個基於 SSHFS,我在本機利用 Vagrant來安裝vieux/sshfs
所以必須先在Vagrant創出來的Server安裝 Plugin,以 host1 及 host2 做實作
docker plugin install --grant-all-permissions vieux/sshfs
我們來創建一個Remote Volume
docker volume create --driver 'Driver Name'\
-o sshcmd='username@IP':'Host Path'\
-o password='password'\
'Volume name'
查看Volume
我們在Host1用busybox做示範,在/app創建一個test.txt
我們在Host3查看/home/vagrant是否有test.txt
這邊我用來 vieux/sshfs 代替 rexray/s3fs ,因為我是個菜鳥沒有實作過 rexray/s3fs,rexray/s3fs要準備的資源需要花點時間準備,例如 Amazon S3 ,這邊大家可以自己試試看用rexray/s3fs做做看,概念其實應該都大同小異,後續有哪位好心人,真的用rexray/s3fs實作完成,麻煩也分享給我這個菜鳥
Volume的人生三堂課上完了,感謝各位陪我這位菜鳥一起走過,當然Volume不只這三堂課,後續有幾個Driver沒介紹到,其實是我沒真正實用過,所以沒資格跟各位分享,到時大家有空也能試著嘗試不同Driver,如果不嫌棄可以分享給我,交流一下,這樣才會進步啊
參考資料:
Docker容器技术从入门到精通
Vagrant入门系列