docker搭建单机FastDFS文件存储服务器

一、FastDFS是什么?

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:

  • 文件存储
  • 文件同步
  • 文件访问(文件上传、文件下载)等

解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等。

FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

二、工作原理

1.FastDFS服务端角色

  • tracker 跟踪器:主要做调度工作,在访问上起负载均衡的作用;其中所有的跟踪器服务都是对等平级的,可以根据服务器的压力的大小随时增加或减少。
  • storage 存储节点:完成文件管理的所有功能(主要用于存储文件,存储完成后会返回一个地址给tracker)。

为了可以支持扩容,跟踪器和存储节点都可以由一台或多台服务器构成。如果访问的压力大,可以多增加跟踪器,如果存储量大,可以增加多个存储节点,同时,可以把同一存储节点进行备份(back-up)。

2.工作原理

工作原理

FastDFS分为Tracker、Storage,其中Storage负责存储文件,Tracker负责存储文件所在地址,主要作用是负载均衡和资源调度。

Tracker、Storage都可以实现集群部署,Tracker的每个节点地位平等,而Storage可以分为多个组,每个组之间保存的文件是不同的,组内部分为多个成员,每个成员保存的内容是一样,组成员地位一致,没有主从概念。

使用FastDFS存储文件优点:可以应对互联网的海量文件存储,一旦文件较多,可以随时横向扩展,且集群的实现也使系统不存在单点故障问题,用户不会因为服务器宕机而无法访问文件资源。

3.工作流程

文件上传:Client会先向Tracker询问存储地址,Tracker查询到存储地址后返回给Client,Client拿着地址直接和对应的Storage通讯,将文件上传至改Storage。
工作流程-文件上传
文件下载:同样,Client会向Tracker询问地址,并带上要查询的文件名和组名,Tracker查询后会将地址返回给Client,Client拿着地址和指定Storage通讯并下载文件。
工作流程-文件下载

二、使用docker搭建FastDFS文件系统

1.下载FastDFS文件系统的docker镜像

1.1 查找dockerhub中fastdfs的镜像

docker search fastdfs
查找dockerhub中fastdfs的镜像

1.2 拉取选择的镜像

docker pull delron/fastdfs
拉取选择的镜像

1.3 查看docker镜像

docker images
查看docker镜像

2.使用docker镜像构建tracker容器

启动镜像并且将容器挂载到本机的/var/fdfs/tracker下
docker run -d --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker

  • -d:守护进程
  • --name:命名
  • -v:挂载
    使用docker镜像构建tracker容器

3.使用docker镜像构建storage容器

启动镜像并且将容器挂载到本机的/var/fdfs/storage下,tracker服务的ip地址,端口默认是22122
docker run -d --network=host --name storage -e TRACKER_SERVER=ip:22122 -v /var/fdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
使用docker镜像构建storage容器

4.查看正在运行的镜像

docker ps
查看正在运行的镜像

此时两个服务都已启动

5.查看storage容器配置

进入storage容器,到storage的配置文件中皮质http访问的端口,配置文件在/etc/fdfs目录下的storage.conf。
docker exec -it storage /bin/bash
进入storage容器
vi storage.conf
storage.conf
默认请求端口是8888

6.配置Nginx

在/usr/local/nginx目录下,修改nginx.conf文件

cd /usr/local/nginx/
ll
cd conf/
ls
vi nginx.conf

默认配置如下
nginx.conf
修改成

location /group1/M00 {
    alias  /var/fdfs;
}

到这里文件系统已搭建完成。

7.上传图片验证

将图片放置在/var/fdfs/storage目录下,进入storage容器,进入/var/fdfs目录,运行下面命令:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf demo.jpeg
图片上传至文件系统
执行后会返回图片存储的uri
通过url访问http://ip:8888/group1/M00/00/00/rBCVGGFpH32AO9LmAAA9CQNjvWc43.jpeg
查看服务器图片

总结

docker搭建单机FastDFS文件存储服务器就到这里啦。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值