docker部署FastDFS分布式文件系统

 更新时间:2025年12月03日 10:37:01   作者:❀͜͡傀儡师  
FastDFS是一个轻量级、高性能的分布式文件系统,本文主要介绍了docker部署FastDFS分布式文件系统,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1、fastdfs简介

FastDFS 是一个开源的、轻量级的分布式文件系统,主要用于管理文件,如图片、视频、文档等,解决海量文件存储和高并发访问的问题。

2、核心特性

  • 轻量级:不像 HDFS 那样“重”,没有依赖像 ZooKeeper 这样的复杂组件,部署和维护相对简单。
  • 高性能:专为文件存取设计,在高并发场景下,文件上传和下载速度非常快。
  • 高可用与可扩展:采用集群方式部署,存储节点可以轻松横向扩展。通过备份机制,确保数据不会因单点故障而丢失。
  • 负载均衡:Tracker Server 可以对上传和下载请求进行负载均衡,分散压力。
  • 专注于文件:它不提供文件“分块”功能(不像 HDFS),而是将每个文件作为一个整体来存储。因此,它不适合存储超大文件(如数百GB的电影),但非常适合存储大量的小文件,比如用户头像、商品图片、短视频等。

3、安装docker

1、安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

2、配置docker yum源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、安装docker

yum install -y docker-ce

4、修改docker配置文件

mkdir /dta/docker -p
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
      "https://docker.credclouds.com",
      "https://k8s.credclouds.com",
      "https://quay.credclouds.com",
      "https://gcr.credclouds.com",
      "https://k8s-gcr.credclouds.com",
      "https://ghcr.credclouds.com",
      "https://do.nark.eu.org",
      "https://docker.m.daocloud.io",
      "https://docker.nju.edu.cn",
      "https://docker.mirrors.sjtug.sjtu.edu.cn",
      "https://docker.1panel.live",
      "https://docker.rainbond.cc"
    ],
   "data-root": "/data/docker"
}
EOF

5、启动docker

systemctl daemon-reload
systemctl enable docker --now
systemctl restart docker

6、安装docker-compose

# 下载docker-compose文件
curl -L "https://github.com/docker/compose/releases/download/v2.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 执行权限
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# 查看是否安装成功
docker-compose --version

4、拉取fastDFS镜像

docker pull delron/fastdfs:latest

5、创建数据目录

mkdir -p /data/fastdfs/{tracker,storage,conf}
mkdir -p /data/fastdfs/storage/{data,logs}
chmod 777 /data/fastdfs

6、安装tracker服务

docker run -d \
--name tracker \
--net host \
--restart always \
-v /etc/localtime:/etc/localtime \
-v /data/fastdfs/tracker:/fastdfs/tracker \
delron/fastdfs:latest tracker

7、安装Storage服务

docker run -d \
--name storage \
--net host \
--restart always \
-v /etc/localtime:/etc/localtime \
-v /data/fastdfs/storage/data:/fastdfs/store_path \
-v /data/fastdfs/storage/logs:/fastdfs/storage \
-e TRACKER_SERVER="172.16.12.115:22122" \
delron/fastdfs:latest storage

8、安装nginx服务

vi /data/fastdfs/conf/nginx.conf
worker_processes  4;

events {
    worker_connections  1024;
}
 
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
 
server {
    listen       8888;
    server_name  localhost;
    location /group1/M00 {
        root /fastdfs/store_path/data;
        ngx_fastdfs_module;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
       root   html;
    }
  }
}

启动nginx容器:

docker run -d \
--name nginx \
-v /etc/localtime:/etc/localtime \
-v /data/fastdfs/storage/data:/fastdfs/store_path \
-v /data/fastdfs/conf/nginx.conf:/etc/nginx/conf/nginx.conf \
--net=host \
-e TRACKER_SERVER="172.16.12.115:22122" \
delron/fastdfs:latest nginx

9、查看容器日志

docker logs -f tracker
docker logs -f storage
docker logs -f nginx

10、测试图片上传

docker exec -it storage bash
cd /var/fdfs/
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.png

11、验证

http://172.16.12.115:8888/group1/M00/00/00/wKg0D2kLeiyASd5qAATLbPP5NnY728.png

总结

FastDFS 可以理解为互联网领域,特别是中小型公司的“国民级分布式图片/文件服务器”。当你的应用需要存储和管理大量用户上传的文件,并且对性能和扩展性有要求时,FastDFS 是一个非常可靠和经典的选择。

到此这篇关于docker部署FastDFS分布式文件系统的文章就介绍到这了,更多相关docker FastDFS分布式文件系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 什么是Docker? Docker入门教程

    什么是Docker? Docker入门教程

    本文主要涉及Docker的基础知识:Docker的概述、docker容器以及如何安装使用Docker。希望大家能够喜欢
    2017-03-03
  • 8个步骤彻底清理Docker镜像

    8个步骤彻底清理Docker镜像

    本文主要介绍了8个步骤彻底清理Docker镜像,包括查看镜像、删除指定镜像、批量清理未使用镜像、按时间或大小过滤、脚本自动化及定时任务等,感兴趣的可以了解一下
    2025-09-09
  • 教你docker方式部署nacos

    教你docker方式部署nacos

    Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理,下面通过本文给大家讲解docker方式部署nacos的过程,感兴趣的朋友一起看看吧
    2022-05-05
  • docker部署SpringCloud微服务项目方式

    docker部署SpringCloud微服务项目方式

    这篇文章主要介绍了docker部署SpringCloud微服务项目方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • docker 查看容器的挂载目录操作

    docker 查看容器的挂载目录操作

    这篇文章主要介绍了docker 查看容器的挂载目录操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Docker-harbor私有仓库部署与管理方式

    Docker-harbor私有仓库部署与管理方式

    这篇文章主要介绍了Docker-harbor私有仓库部署与管理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • Docker镜像大小查看和排序方法小结

    Docker镜像大小查看和排序方法小结

    在 Docker 日常使用中,随着镜像数量的增加,磁盘空间管理变得尤为重要,了解如何有效地查看和排序 Docker 镜像大小不仅可以帮助我们释放宝贵的磁盘空间,还能优化容器的构建和部署流程,所以本文给大家总结了Docker镜像大小查看和排序方法,需要的朋友可以参考下
    2025-05-05
  • 详解Docker+Jenkins+Gitlab+Django应用部署实践

    详解Docker+Jenkins+Gitlab+Django应用部署实践

    这篇文章主要介绍了Docker+Jenkins+Gitlab+Django应用部署实践,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Docker 打包python的命令详解

    Docker 打包python的命令详解

    最近用Python写了一段爬虫程序,为了隔离其运行环境,易于分发,把项目打包成Docker镜像,下面给大家简单介绍下具体命令写法
    2016-12-12
  • docker和docker-compose的版本对应关系的实现

    docker和docker-compose的版本对应关系的实现

    本文主要介绍了docker和docker-compose的版本对应关系的实现,两者虽非强制绑定,但新版本docker-compose可能依赖更高版本Docker引擎的API,具有一定的参考价值,感兴趣的可以了解一下
    2025-06-06

最新评论