使用docker安装fastDFS
1|01.安装fastdfs必要组件tracker不用改
docker run -d --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker
2|02.安装fastdfs存储地址 storage 除了ip其他的都不用改
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
3|03.进入容器修改配置 一定要,要不然链接不上
docker exec -it tracker bash
4|04.修改配置
vi /etc/fdfs/client.conf
将配置 tracker_server=你自己的ip:22122
到这其实fastDFS就配好了
5|0创建项目测试
我这里用的是**springBoot**进行整合。**swagger-ui**进行图片上传
5|11.pom依赖
1 <!-- FastDFS依赖 --> 2 <dependency> 3 <groupId>com.github.tobato</groupId> 4 <artifactId>fastdfs-client</artifactId> 5 <version>1.26.5</version> 6 </dependency> 7 <!-- Swagger2 核心依赖 --> 8 <dependency> 9 <groupId>io.springfox</groupId> 10 <artifactId>springfox-swagger2</artifactId> 11 <version>2.6.1</version> 12 </dependency> 13 <dependency> 14 <groupId>io.springfox</groupId> 15 <artifactId>springfox-swagger-ui</artifactId> 16 <version>2.6.1</version> 17 </dependency>
5|22.配置 yml **需要修改ip**
1 spring: 2 servlet: 3 multipart: 4 max-file-size: 100MB # 最大支持文件大小 5 max-request-size: 100MB # 最大支持请求大小 6 # 分布式文件系统FDFS配置 7 fdfs: 8 # 链接超时 9 connect-timeout: 600 10 # 读取时间 11 so-timeout: 600 12 # 生成缩略图参数 13 thumb-image: 14 width: 150 15 height: 150 16 tracker-list: 你自己的ip:22122
5|33.配置文件(两个)
SwaggerConfig.java **一定要改成你自己项目的controller包路径,这里会扫描你的接口**
1 @Configuration 2 public class SwaggerConfig { 3 @Bean 4 public Docket createRestApi() { 5 return new Docket(DocumentationType.SWAGGER_2) 6 .apiInfo(apiInfo()) 7 .select() 8 .apis(RequestHandlerSelectors.basePackage("top.mail.email.controller")) 9 .paths(PathSelectors.any()) 10 .build(); 11 } 12 private ApiInfo apiInfo() { 13 return new ApiInfoBuilder() 14 .title("SpringBoot利用Swagger构建API文档") 15 .description("使用RestFul风格, 创建人:知了一笑") 16 .termsOfServiceUrl("https://github.com/cicadasmile") 17 .version("version 1.0") 18 .build(); 19 } 20 }
DfsConfig.java
1 @Configuration 2 @Import(FdfsClientConfig.class) 3 // Jmx重复注册bean的问题 4 @EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING) 5 public class DfsConfig { 6 }
5|44.工具类
FileDfsUtil.java
1 @Component 2 public class FileDfsUtil { 3 private static final Logger LOGGER = LoggerFactory.getLogger(FileDfsUtil.class); 4 @Resource 5 private FastFileStorageClient storageClient ; 6 /** 7 * 上传文件 8 */ 9 public String upload(MultipartFile file) throws Exception{ 10 StorePath storePath = storageClient.uploadFile(file.getInputStream(),file.getSize(), FilenameUtils.getExtension(file.getOriginalFilename()),null); 11 return storePath.getFullPath() ; 12 } 13 /** 14 * 删除文件 15 */ 16 public void deleteFile(String fileUrl) { 17 if (StringUtils.isEmpty(fileUrl)) { 18 LOGGER.info("fileUrl == >>文件路径为空..."); 19 return; 20 } 21 try { 22 StorePath storePath = StorePath.parseFromUrl(fileUrl); 23 storageClient.deleteFile(storePath.getGroup(), storePath.getPath()); 24 } catch (Exception e) { 25 LOGGER.info(e.getMessage()); 26 } 27 } 28 }
5|55.controller接口
FileController.java
1 @RestController 2 public class FileController { 3 @Resource 4 private FileDfsUtil fileDfsUtil ; 5 /** 6 * 文件上传 7 */ 8 @ApiOperation(value="上传文件", notes="测试FastDFS文件上传") 9 @RequestMapping(value = "/uploadFile",headers="content-type=multipart/form-data", method = RequestMethod.POST) 10 public ResponseEntity<String> uploadFile (@RequestParam("file") MultipartFile file){ 11 String result ; 12 try{ 13 String path = fileDfsUtil.upload(file) ; 14 if (!StringUtils.isEmpty(path)){ 15 result = path ; 16 } else { 17 result = "上传失败" ; 18 } 19 } catch (Exception e){ 20 e.printStackTrace() ; 21 result = "服务异常" ; 22 } 23 return ResponseEntity.ok(result); 24 } 25 /** 26 * 文件删除 27 */ 28 @RequestMapping(value = "/deleteByPath", method = RequestMethod.GET) 29 public ResponseEntity<String> deleteByPath (){ 30 String filePathName = "group1/M00/00/00/wKhIgl0n4AKABxQEABhlMYw_3Lo825.png" ; 31 fileDfsUtil.deleteFile(filePathName); 32 return ResponseEntity.ok("SUCCESS") ; 33 } 34 }
5|66.springBoot启动类
1 @SpringBootApplication 2 @EnableSwagger2 3 public class EmailApplication { 4 5 public static void main(String[] args) { 6 SpringApplication.run(EmailApplication.class, args); 7 } 8 9 }
6|0启动项目
访问::::
http://localhost:8080/swagger-ui.html
返回地址表示上传成功。
7|0怎么访问呢?
默认的话,是通过你的 ip:8888/上面返回的地址 如果你是阿里云服务就要手动开放 8888、22122、23000 这三个端口
使用docker安装fastDFS相关推荐
- 超简单用Docker安装FastDFS分布式文件存储系统
个人简介 作者是一个来自河源的大三在校生,以下笔记都是作者自学之路的一些浅薄经验,如有错误请指正,将来会不断的完善笔记,帮助更多的Java爱好者入门. Docker安装FastDFS分布式文件存储系统 ...
- Docker安装FastDFS分布式文件系统
Docker安装FastDFS分布式文件系统: 1.首先下载FastDFS文件系统的docker镜像 2.拉取镜像 3.查看镜像 4.使用docker镜像构建tracker容器(跟踪服务器,起到调度的 ...
- docker 安装fastdfs教程
通过docker安装fastdfs 下载镜像 docker pull delron/fastdfs 启动tracker docker run -d --network=host --name some ...
- 通过docker安装FastDFS
通过docker安装 1 拉取镜像并启动,注意修改ip地址即可. 注意:这里IP=114.132.233.87 //修改为自己服务器的ip地址 docker run -d --restart=alwa ...
- 【分布式系统】docker安装FastDFS分布式文件系统
FastDFS 1.首先搜索FastDfs镜像 sudo docker search fastdfs 2.拉取镜像 sudo docker pull morunchang/fastdfs 3.运行tr ...
- Linux docker 安装FastDFS
查询镜像 docker search fastdfsNAME DESCRIPTION STARS OFFICIAL AUTOMATED season/fastdfs FastDFS 47 luhuig ...
- docker 安装 FastDFS
1.查找Docker Hub上的redis镜像 docker search fastdfs 2.拉取镜像 docker pull delron/fastdfs #拉取最新版本 3.查看镜像 docke ...
- Docker与FastDFS的安装命令及使用
Docker特点 1)上手快 用户只需要几分钟,就可以把自己的程序"Docker 化".Docker 依赖于"写时复制" (copy-on-write)模型,使 ...
- docker host模式拿到nginx远程ip端口_FastDFS基于Docker安装,免采坑版
暂且不说Docker在生产环境的性能如何,单就在学习新技术的过程中能够快速构建环境这一项来说,就值得推荐你尝试使用.本文带大家基于Docker来安装FastDFS服务. 即便你对FastDFS的安装不 ...
最新文章
- datatable 汇总_【2019 版】中国石油大学(北京)计算机考研信息、资料汇总
- 树,二叉树,森林各种遍历总结:
- css 添加 referer,http中Referer和Referrer Policy
- php 运行环境 去mysql,php、MySql运行环境
- .Net Core配置与自动更新
- 004-JQuery属性
- 集线器级联增加了网络数量,效率降低了,形成了大的冲突域,怎么解决?
- 远程配置jupyter notebook
- SpringCloudConfig分布式配置中心-基本使用
- STL学习笔记--歌唱比赛(综合题)
- python爬虫之------每天给她(他)一个小故事啦啦啦啦
- SONIC 编译指南
- Oracle执行计划——查看执行计划的方法
- 将声音也输出到耳机(by quqi99)
- 几何视角下的线性代数(3)---基与特征
- 深度学习在音乐信息检索(MIR)方向的应用介绍(上)
- word文档字不靠边_word怎么调整单元格文字边距表格文字紧靠边框怎么办
- 中国建成世界海中最高5G基站 采用微波传输方案
- 全球某工商云战役自动打卡系统
- mixly红外遥控问题在线等
热门文章
- 互联网金融时代下机器学习与大数据风控系统
- 面试准备每日系列:Java底层源码——Arrays.toString(数组) object.toString() new String()
- 无人机-2多翼无人机的结构与硬件
- Java并发(七)——并发容器
- CodeForces 379 E New Year Tree Decorations
- Python MQTT订阅获取发布信息字典过滤
- 十进制度分秒lisp函数_十进制与度分秒坐标互转
- linux可配置哪些服务,不可不知 十大热门Linux服务器配置
- ANSI颜色字体一篇通
- EMC之对象参考1 -- 对象基本知识