Docker 安装 FastDFS

简述

FastDFS是一个开源的轻量级分布式文件系统,它的主要功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

Github项目地址:https://github.com/happyfish100/fastdfs

架构图

架构图

安装步骤

# 运行tracker跟踪服务,默认端口为22122,映射`/fastdfs/tracker /data`以保留数据
docker run -it -d --name tracker \
-v ~/usr/local/docker/tracker_data:/fastdfs/tracker/data \
--net=host season/fastdfs:1.2 tracker

# 运行storage存储服务,绑定tracker跟踪服务的ip与端口(此处并未生效,原因未知需手动修正)
docker run -it -d --name storage \
-v ~/usr/local/docker/storage_data:/fastdfs/storage/data \
-v ~/usr/local/docker/store_path:/fastdfs/store_path \
--net=host -e TRACKER_SERVER:你的trackerIP:22122 season/fastdfs:1.2 storage

演示图如下:

安装演示

手动修改storage绑定tracker的IP:

# 1.从容器复制配置文件到宿主机 
docker cp storage:/fdfs_conf/storage.conf ~/
# 2.修改配置文件
vim ~/storage.conf  → 找到tracker_server=你的tracker机ip:22122 
# 3.将文件拷贝回docker容器
docker cp ~/storage.conf storage:/fdfs_conf/
# 4.重启存储服务
docker restart storage
# 5.进入storage容器 
docker exec -it storage bash
# 6.查看storage的状态
cd fdfs_conf/  && fdfs_monitor storage.conf
修改前
修改后

测试上传功能

# 启用FastDFS客户端工具
docker run -itd --name fdfs_sh --net=host season/fastdfs:1.2 sh
# 替换storage配置文件
docker cp ~/storage.conf fdfs_sh:/fdfs_conf/
# 进入客户端容器
docker exec -it fdfs_sh bash
# 创建一个文件测试上传用
touch a.txt
# 进入配置文件夹 ,上传文件
cd fdfs_conf/ && fdfs_upload_file storage.conf /a.txt
上传测试
文件所在

后记

  • 遇到端口被占用可以使用:netstat -tunlp|grep 端口号查看进程
  • 一定要开放防火墙
  • season/fastdfs:latest版本,其中不包含nginx,但不影响其他功能

推荐阅读更多精彩内容