docker 安装 fastDFS

安装示意图

tracker 安装

安装 docker

yum  install docker -y

启动 docker

service start docker

获取image

docker pull delron/fastdfs

创建 tracker 容器

docker run -d --network=host --name tracker -v /root:/var/root delron/fastdfs tracker

storage 安装

安装 docker

yum  install docker -y

启动 docker

service start docker

获取image

docker pull delron/fastdfs

创建 storage 容器

TRACKER_SERVER 为 tracker 的 IP

docker run -d --network=host --name storage -e TRACKER_SERVER=192.168.31.101:22122 -v /root:/var/root -e GROUP_NAME=group1 delron/fastdfs storage

进入storage容器

docker exec -it storage /bin/bash

测试图片上传

wget https://v3u.cn/v3u/Public/images/logo.png

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf logo.png

无法上传成功请查看相关端口是否开启

完成以上操作就可以对外提供服务了,如果后续需要进行扩容可以看下面的扩容操作

扩容操作

  1. 再次安装 storage, GROUP_NAME=group2 必须与之前的不一样

    docker run -d --network=host --name storage -e TRACKER_SERVER=192.168.31.101:22122 -v /root:/var/root -e GROUP_NAME=group2 delron/fastdfs storage
    
  2. 进入 tracker 服务器 修改 /etc/fdfs/tracker.conf 中的 store_lookup=0 ,这样可以利于测试。tracker 服务器会两个 storage 轮流上传文件

    # the method of selecting group to upload files
    # 0: round robin
    # 1: specify group
    # 2: load balance, select the max free space group to upload file
    store_lookup=0
    
  3. 修改对应的 storage 的 /etc/fdfs/mod_fastdfs.conf 中的 group name 参数,必须与安装在本台服务器的 docker 启动命令中的 GROUP_NAME=group2 一致

  4. 进入 tracker 服务器 添加 nginx 配置

    upstream fdfs_group1 {
        server 192.168.31.102:8888 weight=1 max_fails=2 fail_timeout=30s;
    }
    
    upstream fdfs_group2 {
        server 192.168.31.103:8888 weight=1 max_fails=2 fail_timeout=30s;
    }
    
    location /group1/M00 {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://fdfs_group1;
    }
    
    location /group2/M00 {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://fdfs_group2;
    }
    

其他

storage 容器重启后无法启动问题

创建 storaged.log 即可

在宿主机中创建 storaged.log 文件,然后拷贝到 storage 容器中去

docker cp storaged.log storage:/var/fdfs/logs/

参考

fastdfs集群版搭建(一)- storage集群搭建与统一入口访问
分布式文件存储 FastDFS

你可能感兴趣的:(docker 安装 fastDFS)