使用Docker快速搭建FastDFS

【注】文中相关文件文末提供。

一、安装

1.搜索镜像

  docker search fastdfs

由于并没有官方镜像,此处使用该私有镜像。
在这里插入图片描述
2.拉取镜像

docker pull morunchang/fastdfs

3.查看镜像

docker images

在这里插入图片描述
4.运行tracker 跟踪器

 docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh

5.运行storage 存储器【注意:修改IP为自己的IP 端口不变】

  docker run -d --name storage --net=host -e TRACKER_IP=192.168.61.200:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh

6.修改nginx的配置,不拦截上传内容

   -- 进入容器内部
   docker exec -it storage  /bin/bash
   cd data
   ls
   
   -- 修改nginx配置文件
   vi nginx/conf/nginx.conf
   
   
   -- 添加修改内容
	location /group1/M00 {
	   proxy_next_upstream http_502 http_504 error timeout invalid_header;
		 proxy_cache http-cache;
		 proxy_cache_valid  200 304 12h;
		 proxy_cache_key $uri$is_args$args;
		 proxy_pass http://fdfs_group1;
		 expires 30d;
	 }

在这里插入图片描述

   -- 退出
    exit
  1. 重启storage服务
docker restart storage

8.查看运行,至此安装完毕

docker ps

在这里插入图片描述

二、检验

1.本地使用maven命令(记得配maven的环境变量)获得私有镜像的pom依赖包。其中-Dfile=D:\8888\fastdfs_client-1.25.jar 为该包的路径,根据自己的来修改,包在文末提供下载。

win + R
cmd

mvn install:install-file -Dfile=D:\8888\fastdfs_client-1.25.jar -DgroupId=fastdfs_client -DartifactId=fastdfs_client -Dversion=1.25 -Dpackaging=jar

2.查看maven仓库依赖包
在这里插入图片描述
3.新建一个项目,导入FastDFS的依赖,即:将fastdfs依赖包打开找到该pom文件,将其中的坐标加入到新建项目的pom中
在这里插入图片描述
在这里插入图片描述
4.写一个方法进行测试

package com.demo;

import org.csource.common.MyException;
import org.csource.fastdfs.*;

import java.io.IOException;

public class FastTest {
    public static void main(String[] args) throws IOException, MyException {
        //1.加载连接信息(如何连接Fast文件服务器),参数是FastDFS的配置文件,D:\\fast\\fdfs_client.conf 配置文件的位置
        ClientGlobal.init("D:\\fast\\fdfs_client.conf");
        //2.获取跟踪器,创建TrackerClient对象
        TrackerClient trackerClient = new TrackerClient();
        //获取TrackerServer对象
        TrackerServer trackerServer = trackerClient.getConnection();
        //创建StorageServer对象,引用为空
        StorageServer storageServer = null;
        //3.获取存储器
        StorageClient storageClient=new StorageClient(trackerServer,storageServer);
        //使用storageClient上传文件到服务器,D:\\fast\\abc.jpg为本地准备的要上传的图片
        String[] strings = storageClient.upload_file("D:\\fast\\abc.jpg", "png", null);
        //上传成功会返回一个字符数组,分别为:文件所在组和文件在组中的位置及名称
        for(String s:strings){
            System.out.println(s);
        }
    }
}

5.运行结果为:
其中group1为配置时指定的分组,M00/00/00/wKg9yF6DHV6AGUt3AAGH1fzM7l8648.png为图片在FastDFS服务器上的路径,已经自动进行了重命名。

group1
M00/00/00/wKg9yF6DHV6AGUt3AAGH1fzM7l8648.png

6.访问。自己FastDFS服务器IP,8080是默认端口,后面跟上上面打印的地址。
http://IP:8080/group1/M00/00/00/wKg9yF6DHV6AGUt3AAGH1fzM7l8648.png

结果:
在这里插入图片描述
7.访问成功,至此,一个简单的FastDFS服务器就搭建完毕了。

文件传送门》》》提取码:sigr

补充:

上传到FastDFS的文件位置:
进入:docker exec -it storage  /bin/bash
cd /data/fast_data/data/00/00
下次使用时启动即可:
docker restart storage
docker restart tracker
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值