Docker - 部署 FastDFS(分布式文件系統)
簡介
FastDFS 是一個開源的高性能分布式文件系統(DFS)。 它的主要功能包括:文件存儲,文件同步和文件訪問,以及高容量和負載平衡。主要解決了海量數據存儲問題,特別適合以中小文件(建議范圍:4KB < file_size <500MB)為載體的在線服務。
FastDFS開源地址: https://hub.docker.com/r/season/fastdfs/
FastDFS 系統有三個角色:跟蹤服務器(Tracker Server)、存儲服務器(Storage Server)和客戶端(Client)。
Tracker Server:跟蹤服務器,主要做調度工作,起到均衡的作用;負責管理所有的 storage server和 group,每個 storage 在啟動后會連接 Tracker,告知自己所屬 group 等信息,並保持周期性心跳。
判斷有哪些存儲服務器(注冊中心)
判斷哪個存儲服務器的空間較大
判斷資源所在的存儲服務器(路由)
Storage Server:存儲服務器,主要提供容量和備份服務;以 group 為單位,每個 group 內可以有多台 storage server,數據互為備份。
Client:客戶端,上傳下載數據的服務器,也就是我們自己的項目所部署在的服務器。
1. 下載 fastdfs 鏡像
docker pull season/fastdfs
2. 查看fastdfs的端口是否被占用
netstat -aon | grep 22122
3. 關閉防火牆
systemctl stop firewalld
關閉centos 7新防火牆 如下圖
find / -name selinux
vim /etc/sysconfig/selinux
4. 執行reboot重啟系統
5. 創建tracker服務器的容器
docker run -ti -d --name trakcer -v ~/fastdfs/tracker_data:/fastdfs/tracker/data --net=host season/fastdfs tracker
進入容器,查看tracker地址
docker exec -it trakcer bash
cat /fdfs_conf/storage.conf
6. 創建storage存儲服務器
- 指定tracker服務器的地址(通過環境變量)
- storage文件位置 /store_path
docker run -tid --name storage -v ~/fastdfs/storage_data:/fastdfs/storage/data -v ~/fastdfs/store_path:/fastdfs/store_path --net=host -e TRACKER_SERVER:192.168.209.121:22122 season/fastdfs storage
進入storage容器下,將fdfs_conf目錄下的storage.conf文件拷貝到root目錄下
docker cp storage:/fdfs_conf/storage.conf ~/
編輯storage.conf文件,將地址指上
vim storage.conf
將編輯好的文件再拷貝回去
docker cp ~/storage.conf storage:/fdfs_conf/
重啟容器
7. 啟動fastdfs客戶端
將storage服務器的配置文件拷貝到客戶端 fdfs_sh:/fdfs_conf/
docker run -ti -d --name fdfs_sh --net=host season/fastdfs sh
docker cp ~/storage.conf fdfs_sh:/fdfs_conf/
重啟容器
8.
- 這時storage存儲服務器已注冊到trakcer服務器上,開啟8888端口,接下來我們就可以實現上傳下載文件
引用:https://blog.csdn.net/weixin_43683052/article/details/84792338