# fastDFS **Repository Path**: hbtek-base/fastDFS ## Basic Information - **Project Name**: fastDFS - **Description**: docker 环境下的fastDFS集群.高效 - **Primary Language**: Docker - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 2 - **Created**: 2019-11-06 - **Last Updated**: 2024-06-04 ## Categories & Tags **Categories**: docker-related **Tags**: None ## README # fastDFS #### 介绍 docker 环境下的fastDFS集群.高效 #### 软件架构 #### 镜像构建并推送到私服 1. docker build -t registry.cn-hangzhou.aliyuncs.com/hbsky/fastdfs:latest . 2. docker push registry.cn-hangzhou.aliyuncs.com/hbsky/fastdfs:latest #### 使用说明 1. tracker搭建 docker run -d --name tracker \ --net=host \ --restart=always \ --privileged=true \ [-e TRACKER_PORT=tracker端口] \ -v /home/docker/fastDFS/tracker01/data:/home/yuqing/fastdfs \ -v /home/docker/fastDFS/tracker01/conf:/etc/fdfs \ registry.cn-hangzhou.aliyuncs.com/hbsky/fastdfs:latest sh tracker.sh 2. storage搭建 docker run -d --name storage \ --net=host \ --restart=always \ --privileged=true \ -v /home/docker/fastDFS/storage01/data:/home/yuqing/fastdfs \ -v /home/docker/fastDFS/storage01/conf:/etc/fdfs \ [-e STORAGE_PORT=storage端口] \ -e TRACKER_SERVER=trackerIP:端口,trackerIP:端口,trackerIP:端口 \ [-e GROUP_COUNT=组的个数] \ [-e HTTP_SERVER_PORT=http端口] \ [-e GROUP_NAME=组名] \ -e URL_HAVE_GROUP_NAME=true(true 不然Nginx启动不起来) \ registry.cn-hangzhou.aliyuncs.com/hbsky/fastdfs:latest sh storage.sh #### 示例 1. 服务器 103 nginx,tracker1,storage01,storage02 104 tracker2,storage01,storage02 2. 创建文件夹(每台服务器) mkdir storage01 storage02 tracker01 tracker02 3. 获取配置文件(每台服务器) docker run -d --name tracker-config registry.cn-hangzhou.aliyuncs.com/hbsky/fastdfs:latest sh tracker.sh docker cp tracker-config:/etc/fdfs /home/docker/fastDFS/tracker01/conf docker cp tracker-config:/etc/fdfs /home/docker/fastDFS/tracker02/conf docker cp tracker-config:/etc/fdfs /home/docker/fastDFS/storage01/conf docker cp tracker-config:/etc/fdfs /home/docker/fastDFS/storage02/conf docker cp tracker-config:/etc/fdfs /home/docker/fastDFS/storage03/conf docker cp tracker-config:/etc/fdfs /home/docker/fastDFS/storage04/conf docker rm -f tracker-config 4. 安装tracker #tracker01(103) docker run -d --name tracker-22121 \ --net=host \ --restart=always \ --privileged=true \ -e TRACKER_PORT=22121 \ -v /home/docker/fastDFS/tracker01/data:/home/yuqing/fastdfs \ -v /home/docker/fastDFS/tracker01/conf:/etc/fdfs \ registry.cn-hangzhou.aliyuncs.com/hbsky/fastdfs:latest sh tracker.sh #tracker02(104) docker run -d --name tracker-22122 \ --net=host \ --restart=always \ --privileged=true \ -e TRACKER_PORT=22122 \ -v /home/docker/fastDFS/tracker02/data:/home/yuqing/fastdfs \ -v /home/docker/fastDFS/tracker02/conf:/etc/fdfs \ registry.cn-hangzhou.aliyuncs.com/hbsky/fastdfs:latest sh tracker.sh 5. 安装storage #storage01(103,104) docker run -d --name storage-23001 \ --net=host \ --restart=always \ --privileged=true \ -v /home/docker/fastDFS/storage01/data:/home/yuqing/fastdfs \ -v /home/docker/fastDFS/storage01/conf:/etc/fdfs \ -e STORAGE_PORT=23001 \ -e TRACKER_SERVER=192.168.56.103:22121,192.168.56.104:22122 \ -e GROUP_COUNT=2 \ -e HTTP_SERVER_PORT=8081 \ -e GROUP_NAME=group1 \ -e URL_HAVE_GROUP_NAME=true \ registry.cn-hangzhou.aliyuncs.com/hbsky/fastdfs:latest sh storage.sh #storage02(103,104) docker run -d --name storage-23002 \ --net=host \ --restart=always \ --privileged=true \ -v /home/docker/fastDFS/storage02/data:/home/yuqing/fastdfs \ -v /home/docker/fastDFS/storage02/conf:/etc/fdfs \ -e STORAGE_PORT=23002 \ -e TRACKER_SERVER=192.168.56.103:22121,192.168.56.104:22122 \ -e GROUP_COUNT=2 \ -e HTTP_SERVER_PORT=8082 \ -e GROUP_NAME=group2 \ -e URL_HAVE_GROUP_NAME=true \ registry.cn-hangzhou.aliyuncs.com/hbsky/fastdfs:latest sh storage.sh 6. 搭建nginx并修改配置文件 upstream fdfs_group01 { server 192.168.56.103:8081 weight=1 max_fails=2 fail_timeout=30s; server 192.168.56.104:8081 weight=1 max_fails=2 fail_timeout=30s; } upstream fdfs_group02 { server 192.168.56.103:8081 weight=1 max_fails=2 fail_timeout=30s; server 192.168.56.104:8081 weight=1 max_fails=2 fail_timeout=30s; } location /group1{ proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_pass http://fdfs_group01; expires 30d; } location /group2{ proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_pass http://fdfs_group02; expires 30d; }