java框架技术点分享-实战.window10 + docker Desktop + FastDfs 部署本地测试环境

fastDfs:

(1)fastDfs是什么,可以做什么?

       fastDfs 是一个开源的分布式文件系统,存储管理文件。

 

(2).组成+工作?

   fastDfs 有两个角色,tracker(跟踪器)+storage(存储节点)。

   tracker说白了就是负责调度管理storage,就类似于springcloud里面的网关差不多,负责转发。storage就是一个个存储节点,值得注意得是storage里面最小单单元group,相同group存储的内容一样。

工作流白话理解:在启动storage节点时候会只要配置了tracker服务器的地址tracker_server,节点就会通知跟踪器我要加入你,tracker就会在本地storage_servers_new.dat文件记录这个几点基础信息(组名称+ip等)。客户端上传,下载等操作都和tracker先进行通信,tracker给客户端返回storage节点的ip+端口。有点类似nacos注册。

 

实战.window10 + docker  Desktop + FastDfs 部署本地测试环境。

  其实官方并不推荐在window下面部署FastDfs,有经济允许的可以买台云服务器搞搞,这里只是个特例,瞎搞,linux部署跳过。分享下不能做为上线生产环境。

(1).准备查看docker Desktop Ip地址。

查看:C:\Windows\System32\drivers\etc\hosts

 

(2).编写docker-compose.yml

   version: '2'

networks:

  fastdfs-net:

    driver: bridge

    ipam:

      driver: default

      config:

        - subnet: 192.168.1.0/16

services:

    fastdfs-tracker:

        hostname: fastdfs-tracker

        container_name: fastdfs-tracker

        image: season/fastdfs:1.2

        command: tracker

        ports:

          - 22122:22122

        networks:

          fastdfs-net:

            ipv4_address: 192.168.1.110

        volumes:

          - ./tracker_dat a:/fastdfs/tracker/data

    fastdfs-storage:

        hostname: fastdfs-storage

        container_name: fastdfs-storage

        image: season/fastdfs:1.2

        networks:

          fastdfs-net:

            ipv4_address: 192.168.1.140 #这里必须填写查看docker ip tracker 会记录(不填写使用docker自动分配的默认是docker内部ip 172.1.0.4 那么客户端获取tracker时候获取到的这个ip就是内容没办法连接storage)

        ports:

          - 23000:23000

        volumes:

          - ./storage_data:/fastdfs/storage/data

          - ./store_path:/fastdfs/store_path

          # - ./storage.conf:/fdfs_conf/storage.conf

        environment:

          - TRACKER_SERVER= fastdfs-tracker:22122

        command: storage

        depends_on:

          - fastdfs-tracker

    fastdfs-nginx:

        hostname: fastdfs-nginx

        container_name: fastdfs-nginx

        image: season/fastdfs:1.2

        ports:

          - 7300:7300  

        networks:

          fastdfs-net:

            ipv4_address: 192.168.1.120

        command: nginx

        volumes:

          - ./nginx.conf:/etc/nginx/conf/nginx.conf

          - ./store_path:/fastdfs/store_path

        environment:

          - TRACKER_SERVER= fastdfs-tracker:22122

 

简单说明:

1.使用docker network bridge ,原因Docker window下不支持host模式。使用brgdge模式还可以使用服务名称来做为ip地址链接。

2.使用season/fastdfs:1.2 镜像。只英文推荐最多,但是里面实在版本太老,后期可以自己制作一个进行,但是可以参考里面的实现。

3.想真正了解容器运行,或者想知道为什么这样配置?需要进到容器里面docker exit –it xxx /bin/sh 查看一个运行脚本

再简单解释下,其实就是做根据command命令选择运行那个容器配置。fdfs_conf下就是fastdfs配置文件,在启动时候会读到array里面,再重新+配置写到etc目录下,再使用etc目录下的配置启动容器,真正配置在/etc/fdfs下别搞错。所以如果要自己在外部配置conf,可以挂载fdsf_conf目录的文件。

(4).启动 docker-compose up

 

 

(5).java 客户端测试。

  注意java客户端tracker ip

 

开始空的。

 

Ok.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值