目錄
什麼是fastdfs與docker
2. 檔案上傳流程
3. 簡易FastDFS建置
4.使用Docker安裝FastDFS
首頁 運維 Docker 什麼是fastdfs與docker

什麼是fastdfs與docker

Feb 07, 2022 am 11:42 AM
docker

fastdfs是一個開源的分散式檔案系統,功能包括檔案儲存、檔案同步、檔案存取等,解決了大容量儲存和負載平衡的問題;docker是一個開源的應用程式容器引擎,可以打包應用以及依賴套件到一個可移植的鏡像。

什麼是fastdfs與docker

本教學操作環境:linux7.3系統、docker-1.13.1版、Dell G3電腦。

什麼是fastdfs與docker

FastDFS 是用 c 語言寫的一款開源的分散式檔案系統。 FastDFS 為互聯網量身定制, 充分考慮了冗餘備份、負載平衡、線性擴容等機制,並專注於高可用、高效能等指標,使用FastDFS 很容易搭建一套高性能的文件伺服器集群提供文件上傳、下載等服務。

FastDFS 架構包括 Tracker server 和 Storage server。用戶端請求 Tracker server 進行文 件上傳、下載,透過 Tracker server 調度最終由 Storage server 完成檔案上傳下載。

Tracker server 作用是負載平衡和調度,透過 Tracker server 在檔案上傳時可以根據一些 策略找到 Storage server 提供檔案上傳服務。可以將 tracker 稱為追蹤伺服器或調度伺服器。

Storage server 作用是檔案存儲,客戶端上傳的檔案最終儲存在 Storage 伺服器上, Storageserver 沒有實作自己的檔案系統而是利用作業系統 的檔案系統來管理檔案。可以將 storage 稱為儲存伺服器。

什麼是fastdfs與docker

服務端兩個角色:

Tracker: 管理集群,tracker 也可以實現集群。每個 tracker 節點地位平等。收集 Storage 集群的狀態。

Storage: 實際儲存文件, Storage 分成多個群組,每個群組之間保存的文件是不同的。每 組內部可以有多個成員,組成員內部保存的內容是一樣的,組成員的地位是一致的,沒有 主從的概念。

2. 檔案上傳流程

上傳檔案流程

什麼是fastdfs與docker

#客戶端上傳檔案後儲存伺服器將檔案ID 傳回給客戶端,此文件ID 用於以後存取該文件的索引資訊。檔案索引資訊包括:群組名,虛擬磁碟路徑,資料兩級目錄,檔案名稱。

檔案名稱

group1/M00/00/00/wKi9hVz-GUKABj4gAAOTipWhnKM434.jpg

群組名稱:檔案上傳後所在的storage 群組名稱,在檔案上傳成功後有storage 伺服器傳回, 需要客戶端自行保存。

虛擬磁碟路徑:storage 配置的虛擬路徑,與磁碟選項 store_path*對應。如果配置了 store_path0 則是 M00,如果配置了 store_path1 則是 M01,以此類推。

資料兩級目錄:storage 伺服器在每個虛擬磁碟路徑下建立的兩級目錄,用於儲存資料 檔案。

檔名:與檔案上傳時不同。是由儲存伺服器根據特定資訊生成,檔案名稱包含:來源儲存 伺服器 IP 位址、檔案建立時間戳記、檔案大小、隨機數字和檔案拓展名稱等資訊。

3. 簡易FastDFS建置

簡易FastDFS

什麼是fastdfs與docker

4.使用Docker安裝FastDFS

#4.1 . 取得鏡像

可以利用現有的FastDFS Docker映像來運行FastDFS。

取得映像檔可以透過下載

docker image pull delron/fastdfs
登入後複製

也可是直接使用現有的映像備份檔案

docker load -i 文件路径/fastdfs_docker.tar
登入後複製

載入好鏡像後,就可以開啟執行FastDFS的tracker和storage了。

4.2. 執行tracker

執行下列指令開啟tracker 服務

docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker
登入後複製

我們將fastDFS tracker執行目錄對應到本機的/var/fdfs /tracker目錄中。

執行以下指令查看tracker是否執行起來

docker container ls
登入後複製
登入後複製

如果想停止tracker服務,可以執行下列指令

docker container stop tracker
登入後複製

停止後,重新執行tracker,可以執行下列指令

docker container start tracker
登入後複製

4.3. 執行storage

執行下列指令開啟storage服務

docker run -dti --network=host --name storage -e TRACKER_SERVER=10.211.55.5:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage
登入後複製

TRACKER_SERVER=本機的ip位址:22122,本機ip位址不要使用127.0.0.1

我們將fastDFS storage運行目錄對應到本機的/var/fdfs/storage目錄中

執行以下指令查看storage是否運作起來

docker container ls
登入後複製
登入後複製

如果想要停止storage服務,可以執行以下命令

docker container stop storage
登入後複製

停止後,重新運行storage,可以執行以下命令

docker container start storage
登入後複製

注意:如果無法重新運行,可以刪除/var/fdfs/storage /data目錄下的fdfs_storaged.pid 文件,然後重新運行storage。

推薦學習:《docker影片教學

以上是什麼是fastdfs與docker的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1273
29
C# 教程
1252
24
docker怎麼退出容器 docker怎麼退出容器 Apr 15, 2025 pm 12:15 PM

退出 Docker 容器的四種方法:容器終端中使用 Ctrl D 快捷鍵容器終端中輸入 exit 命令宿主機終端中使用 docker stop &lt;container_name&gt; 命令宿主機終端中使用 docker kill &lt;container_name&gt; 命令(強制退出)

docker內的文件怎麼拷貝到外面 docker內的文件怎麼拷貝到外面 Apr 15, 2025 pm 12:12 PM

Docker 中將文件拷貝到外部主機的方法:使用 docker cp 命令:執行 docker cp [選項] &lt;容器路徑&gt; &lt;主機路徑&gt;。使用數據卷:在主機上創建目錄,在創建容器時使用 -v 參數掛載該目錄到容器內,實現文件雙向同步。

docker怎麼啟動容器 docker怎麼啟動容器 Apr 15, 2025 pm 12:27 PM

Docker 容器啟動步驟:拉取容器鏡像:運行 "docker pull [鏡像名稱]"。創建容器:使用 "docker create [選項] [鏡像名稱] [命令和參數]"。啟動容器:執行 "docker start [容器名稱或 ID]"。檢查容器狀態:通過 "docker ps" 驗證容器是否正在運行。

docker怎麼重啟 docker怎麼重啟 Apr 15, 2025 pm 12:06 PM

重啟 Docker 容器的方法:獲取容器 ID(docker ps);停止容器(docker stop &lt;container_id&gt;);啟動容器(docker start &lt;container_id&gt;);驗證重啟成功(docker ps)。其他方法:Docker Compose(docker-compose restart)或 Docker API(參考 Docker 文檔)。

docker容器名稱怎麼查 docker容器名稱怎麼查 Apr 15, 2025 pm 12:21 PM

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

docker怎麼啟動mysql docker怎麼啟動mysql Apr 15, 2025 pm 12:09 PM

在 Docker 中啟動 MySQL 的過程包含以下步驟:拉取 MySQL 鏡像創建並啟動容器,設置根用戶密碼並映射端口驗證連接創建數據庫和用戶授予對數據庫的所有權限

docker怎麼創建容器 docker怎麼創建容器 Apr 15, 2025 pm 12:18 PM

在 Docker 中創建容器: 1. 拉取鏡像: docker pull [鏡像名] 2. 創建容器: docker run [選項] [鏡像名] [命令] 3. 啟動容器: docker start [容器名]

docker怎麼查看日誌 docker怎麼查看日誌 Apr 15, 2025 pm 12:24 PM

查看 Docker 日誌的方法包括:使用 docker logs 命令,例如:docker logs CONTAINER_NAME使用 docker exec 命令運行 /bin/sh 並查看日誌文件,例如:docker exec -it CONTAINER_NAME /bin/sh ; cat /var/log/CONTAINER_NAME.log使用 Docker Compose 的 docker-compose logs 命令,例如:docker-compose -f docker-com

See all articles