Docker - 部署 FastDFS(分布式文件系统)

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

 

posted @   无心々菜  阅读(1110)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示