docker部署FastDFS分布式文件系統(tǒng)
1、fastdfs簡介
FastDFS 是一個開源的、輕量級的分布式文件系統(tǒng),主要用于管理文件,如圖片、視頻、文檔等,解決海量文件存儲和高并發(fā)訪問的問題。
2、核心特性
- 輕量級:不像 HDFS 那樣“重”,沒有依賴像 ZooKeeper 這樣的復(fù)雜組件,部署和維護相對簡單。
- 高性能:專為文件存取設(shè)計,在高并發(fā)場景下,文件上傳和下載速度非常快。
- 高可用與可擴展:采用集群方式部署,存儲節(jié)點可以輕松橫向擴展。通過備份機制,確保數(shù)據(jù)不會因單點故障而丟失。
- 負載均衡:Tracker Server 可以對上傳和下載請求進行負載均衡,分散壓力。
- 專注于文件:它不提供文件“分塊”功能(不像 HDFS),而是將每個文件作為一個整體來存儲。因此,它不適合存儲超大文件(如數(shù)百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 # 執(zhí)行權(quán)限 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、創(chuàng)建數(shù)據(jù)目錄
mkdir -p /data/fastdfs/{tracker,storage,conf}
mkdir -p /data/fastdfs/storage/{data,logs}
chmod 777 /data/fastdfs
6、安裝tracker服務(wù)
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服務(wù)
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服務(wù)
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
總結(jié)
FastDFS 可以理解為互聯(lián)網(wǎng)領(lǐng)域,特別是中小型公司的“國民級分布式圖片/文件服務(wù)器”。當你的應(yīng)用需要存儲和管理大量用戶上傳的文件,并且對性能和擴展性有要求時,F(xiàn)astDFS 是一個非??煽亢徒?jīng)典的選擇。
到此這篇關(guān)于docker部署FastDFS分布式文件系統(tǒng)的文章就介紹到這了,更多相關(guān)docker FastDFS分布式文件系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker部署SpringCloud微服務(wù)項目方式
這篇文章主要介紹了docker部署SpringCloud微服務(wù)項目方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
詳解Docker+Jenkins+Gitlab+Django應(yīng)用部署實踐
這篇文章主要介紹了Docker+Jenkins+Gitlab+Django應(yīng)用部署實踐,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
docker和docker-compose的版本對應(yīng)關(guān)系的實現(xiàn)
本文主要介紹了docker和docker-compose的版本對應(yīng)關(guān)系的實現(xiàn),兩者雖非強制綁定,但新版本docker-compose可能依賴更高版本Docker引擎的API,具有一定的參考價值,感興趣的可以了解一下2025-06-06

