• 【分布式系统】docker安装FastDFS分布式文件系统


    FastDFS

    1.首先搜索FastDfs镜像

    sudo docker search fastdfs
    在这里插入图片描述

    2.拉取镜像

    sudo docker pull morunchang/fastdfs

    3.运行tracker

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

    –net=host:表示的是使用的网络模式为net模式
    -d:表示后台启动

    4.运行storage

    将下面命令中的ip地址:port换成自己的即可

    docker run -d --name storage --net=host -e TRACKER_IP=192.168.123.101:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh
    
    -------------------------
    docker run -d --name storage --net=host -e TRACKER_IP=<your tracker server address>:22122 -e GROUP_NAME=<group name> morunchang/fastdfs sh storage.sh
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    group1是组名,即storage的组
    如 果 想 要 增 加 新 的 s t o r a g e 服 务 器 , 再 次 运 行 该 命 令 , 更 换 新 组 名 如果想要增加新的storage服务器,再次运行该命令,更换 新组名如果想要增加新的storage服务器,再次运行该命令,更换新组名

    进入容器内部:(docker exec -it storage /bin/bash)
    退出容器:exit
    打开client.conf配置文件(vi /etc/fdfs/client.conf)
    在这里插入图片描述

    5.查看安装结果

    docker ps

    storage内部已经集成了nginx,这里的nginx主要提供对FastDFS图片访问的支持。如果你想要修改其中的配置

    进入容器内部(docker exec -it storage /bin/bash)
    打开nginx.conf配置文件(vi /etc/nginx/conf/nginx.conf)
    下面是重点,可以看出当我访问/M00时,它先先交给ngx_fastdfs_module模块进行处理。
    在这里插入图片描述

    go使用fastdfs

    FastdfsTest.go

    import (
    	"fmt"
    	"github.com/tedcy/fdfs_client"
    )
    
    func main() {
    	clt, err := fdfs_client.NewClientWithConfig("fdfs.conf")
    	if err != nil {
    		fmt.Println("初始化客户端错误:", err)
    		return
    	}
    	//上传文件 传入到storage
    	resp, err := clt.UploadByFilename("11.png")
    	fmt.Println(resp, err)
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    fdfs.conf

    tracker_server=192.168.123.101:22122
    maxConns=10
    
    • 1
    • 2

    运行:

    $ go run FastdfsTest.go
    group1/M00/00/00/wKh7ZWL0ja-AYtqHAAiBn5zQ56s991.png <nil>
    
    
    • 1
    • 2
    • 3

    注意:docker容器启动过后重启

    查看容器:

    sudo docker container ls -all
    
    • 1
    CONTAINER ID   IMAGE                COMMAND           CREATED      STATUS                    PORTS     NAMES
    e704bec0ad23   morunchang/fastdfs   "sh storage.sh"   3 days ago   Exited (137) 2 days ago             storage
    
    • 1
    • 2

    重启容器:

    sudo docker restart e704be
    
    • 1
  • 相关阅读:
    RISC-V选项
    Vue学习(十九)插槽
    org.apache.flink.table.api.TableException: Sink does not exists
    python 比较图像相似度实战
    通过yarn快速安装 electron
    Arthas使用教程
    Greenplum数据库外部表——fileam封装
    如何面对数据项目开发和管理中的挑战
    xilinx FPGA ROM IP核的使用(VHDL&ISE)
    RTT学习笔记9-IO设备模型
  • 原文地址:https://blog.csdn.net/weixin_43224306/article/details/126281985