docker容器+fastdfs搭建文件服务器--springboot整合文件服务器实现文件上传, 下载, 删除
Linux安装docker
docker拉取fastdfs镜像
该镜像已经整合了nginx
构建容器
构建tracker容器(跟踪服务器,起到调度的作用)
创建挂载目录, 将tracker容器中的/var/fdfs 文件挂载到自己Linux的目录: mkdir -p /data/fastdfs/tracker
构建容器
docker run -it -d -p 22122:22122 --name tracker --network=host -v /etc/localtime:/etc/localtime -v /data/fastdfs/tracker:/var/fdfs delron/fastdfs tracker
查看容器
构建storage容器(存储服务器,提供容量和备份服务)
创建挂载目录, 将storage容器中的/var/fdfs 文件挂载到自己Linux的目录: mkdir -p /data/fastdfs/storage
构建容器
docker run -it -d --name storage --network=host -e TRACKER_SERVER=192.168.128.131:22122 -v /data/fastdfs/storage:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs storage
注意: TRACKER_SERVER=本机的ip地址:22122 本机ip地址不要使用127.0.0.1
查看容器
docker ps
配置storage端口和Nginx端口(尽量一致)
storage和nginx端口默认为8888(尽量不改)
docker exec -it storage bash
配置storage端口
进入配置storage文件
vim /etc/fdfs/storage.conf
最后一行
注意: 如果没有vim 就在容器中安装vim: yum install vim
配置nginx端口
进入配置nginx文件
vim /usr/local/nginx/conf/nginx.conf
保存退出
退出容器
关闭防火墙(最好是暴露端口)
或者 开放端口
firewall-cmd --zone=public --add-port=22122/tcp --permanent # 开放22122端口
firewall-cmd --zone=public --add-port=8888/tcp --permanent # 开放8888端口
重启防火墙
firewall-cmd --reload
spring boot+swagger+fdfs实现上传, 下载, 删除等操作
文件目录
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.lqk</groupId>
<artifactId>filedemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>filedemo</name>
<description>测试springboot与fastdfs文件服务器整合</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.github.tobato/fastdfs-client -->
<dependency>
<groupId>com.github.tobato</groupId>
<artifactId>fastdfs-client</artifactId>
<version>1.27.2</version>
</dependency>
<!-- swagger2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</