FastDFS

Docker部署FastDFS

1
2
3
4
5
# 搜索镜像
docker search fastdfs

# 拉取镜像(已经内置Nginx)
docker pull delron/fastdfs

Tracker

1
docker run -d --name tracker --network=host -v /mydata/fastdfs/tracker:/var/fdfs delron/fastdfs tracker

服务默认的端口为22122,-v 实现了容器和本地目录的挂载操作。

Storage

1
docker run -d --name storage --network=host  -e TRACKER_SERVER=10.0.2.15:22122 -v /mydata/fastdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage

在执行上面命令的时候要注意对应的修改下,其中TRACKER_SERVER中的ip要修改为你的Tracker服务所在的服务IP地址。

默认端口:

服务 默认端口
Tracker 22122
Storage 23000
Nginx 8888

使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 导入 FastDFS 的依赖包
<dependency>
<groupId>org.csource.fastdfs</groupId>
<artifactId>fastdfs</artifactId>
<version>1.2</version>
</dependency>

// 创建 FastDFS 的客户端对象
FastDFSClient client = new FastDFSClient("classpath:config/fdfs_client.conf");

// 完成上传,获得 fileId
String fileId = client.uploadFile(uploadFile.getBytes(), exeName);

// 拼接文件的访问路径并返回到前端页面
String filePath = server_url + fileId;