FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS是纯C语言实现,只支持Linux、FreeBSD等UNIX系统。
FastDFS的两个核心概念分别是:Tracker(跟踪器)、Storage(存储节点)
首先启动docker
systemctl start docker
1.下载FastDFS文件系统的docker镜像
docker pull morunchang/fastdfs
2.构建tracker容器(跟踪服务器,起到调度的作用)
docker run -d --name=tracker -v /home/fastdfs_docker/fdfs/tracker:/data/fast_data --privileged=true --net=host morunchang/fastdfs sh tracker.sh
3.构建storage容器(存储服务器,提供容量和备份服务)
注意修改IP等参数
docker run -d --name=storage -v /home/fastdfs_docker/fdfs/storage_data:/data/fast_data --privileged=true --net=host -e TRACKER_IP=192.168.71.144:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh
4.修改nginx的配置,不拦截上传内容
进入storage容器
docker exec -it storage /bin/bash
vim /data/nginx/conf/nginx.conf
5.添加如下内容:
location /group1/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_cache http-cache;
proxy_cache_valid 20030412h;
proxy_cache_key $uri$is_args$args;
proxy_pass http://fdfs_group1;
expires 30d;
}
退出容器
exit
重启storage服务
docker restart storage
测试输出自己的端口号
docker restart storage
出现这个即可
以后启动
systemctl start docker
docker start tracker
docker start storage