天天看點

Docker安裝FastDFS

由于Host主機網絡驅動程式僅适用于Linux主機,并且不支援Docker for Mac,是以提供在centos和mac的不同安裝方法。

centos環境中,tracker和storage使用docker host網絡,共享主控端網絡Network Namespace,使用主控端的IP和端口而并不會虛拟出自己的網卡裝置和配置自己的IP等。

TRACKER_SERVER=192.168.100.149:22122,TRACKER_SERVER為tracker服務位址。

TRACKER_SERVER勿配置為127.0.0.1或localhost。

配置TRACKER_SERVER的目的是讓storage能找到tracker服務,不論是bridge還是host網絡模式,都要使得TRACKER_SERVER配置的位址能找到tracker服務。

這裡通過host網絡,可通過主控端+22122端口映射到容器中的tracker服務。(下文Mac通過bridge網絡變通下目的也是網絡能通且能找到tracker server。

将tracker server中的/etc/fdfs/storage.conf檔案中的tracker_server配置為能找到tracker server服務的位址:

8888為預設端口

delron/fastdfs 鏡像包含了nginx服務。

storage 容器的 nginx代理了storage 的http服務,目的是友善web浏覽器通過nginx服務通路到storage存儲的資源。

如果上面storage.conf的http.server_port端口更改過,這裡nginx代理監聽的服務端口要保持一緻。

在tracker或storage中通過 fdfs_monitor /etc/fdfs/storage.conf 檢查配置是否正确。

tracker server is 192.168.100.149:22122說明配置正确,同時也可以通過telnet看看服務是否都能找得到。

在storage容器中使用fdfs_upload_file嘗試上傳指定檔案,如果正确傳回存儲路徑,則測試通過。

group1/M00/00/00/rBEABmFkSvCAKThKAAAATzab9Do079.txt為傳回的檔案存儲路徑。部署完成。

macOS并不支援docker host網絡,這裡依然使用bridge。

為了将tracker容器中的storage.conf持久化在主控端,這裡調整了映射目錄。

預設network為bridge,并且指定端口映射-p 22122:22122。

這裡我事先啟動了一個正常的tracker執行個體,把其容器中的/etc/fdfs目錄中的所有配置拷貝到了主控端,然後修改了storage.conf中的tracker_server=192.168.100.149:22122,這樣就不用擔心容器重新開機後又得進到tracker容器中重新修改該配置。

預設network為bridge,并且指定nginx和storage的端口映射分别為-p 8888:8888 -p 23000:23000。

這裡配置bridge端口映射的目的依然是讓服務彼此能找到TRACKER_SERVER,保證TRACKER_SERVER能通。

其他内容和在Centos中配置一緻。

繼續閱讀