• 【分布式系统】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
  • 相关阅读:
    MySQL索引事务存储引擎
    CANoe-vTESTstudio之State Diagram编辑器(功能介绍)
    【ubuntu】本地访问ubuntu服务器的jupyter文件,.ipynb误删除找回、恢复
    阿里云大数据实战记录10:Hive 兼容模式的坑
    windows mysql 安装教程
    基于Gin框架的HTTP接口限速实践
    Docker Swarm 节点维护
    基于JSP的IQ智力测试系统
    django中静态资源配置
    1283_Mike Zamansky讲解的emacs配置文件初步
  • 原文地址:https://blog.csdn.net/weixin_43224306/article/details/126281985