最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker中搭建FastDFS文件系統(tǒng)(多圖教程)

 更新時間:2021年05月11日 14:36:55   作者:niceyoo  
這篇文章主要介紹了Docker中搭建FastDFS文件系統(tǒng)(多圖教程),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

關(guān)于FastDFS

FastDFS 是以 C 語言開發(fā)的一項開源輕量級分布式文件系統(tǒng),他對文件進行管理,主要功能有:文件存儲,文件同步,文件訪問(文件上傳/下載)等,特別適合以文件為載體的在線服務(wù),如:圖片網(wǎng)站,視頻網(wǎng)站等。

外話:FastDFS 是阿里余慶大神做的一個個人項目,從2008年研發(fā)FastDFS開源至今,在一些互聯(lián)網(wǎng)創(chuàng)業(yè)公司中備受推崇,GitHub開源地址:https://github.com/happyfish100/fastdfs

本文基于Docker搭建,以下是正文內(nèi)容:

1、搜索鏡像

執(zhí)行命令:

docker search fastdfs

然后界面會搜出一大堆鏡像,選哪個呢?

老規(guī)矩,我們選擇start數(shù)最多的準(zhǔn)沒錯,什么?start數(shù)不放心,怕被掛馬?ok,我們再去鏡像倉庫看一下:

補充: 其實看這些鏡像的描述也能看出一些區(qū)別來的,比如 ygqygq2/fastdfs-nginx,該鏡像是整合了 Nginx 的 fastdfs,那么新的問題來了,為什么要整合 Nginx?因為對于 fastdfs 來說,安裝后只能在本機訪問… 我上傳文件肯定是為了能夠訪問的呀,所以為了提供 web 訪問,那么就需要集成 Nginx 了,但是比如就是想自己單獨搞 Nginx… 那么肯定就不會選了嘛,season/fastdfs 鏡像相對純凈些,本文就是基于 season/fastdfs 鏡像的,后面也附帶配置 Nginx…

2、安裝鏡像

執(zhí)行命令:

docker pull season/fastdfs:1.2

之所以選擇 1.2 版本,防止再次更新后本文不適合 latest 版本,執(zhí)行截圖如下:

3、

創(chuàng)建容器并掛載目錄

在創(chuàng)建容器之前我們先簡單說一下 FastDFS,F(xiàn)astDFS 系統(tǒng)有三個角色:

  • 跟蹤服務(wù)器(Tracker Server):跟蹤服務(wù)器,主要做調(diào)度工作,起到均衡的作用;負(fù)責(zé)管理所有的 storage server和 group,每個 storage 在啟動后會連接 Tracker,告知自己所屬 group 等信息,并保持周期性心跳。
  • 存儲服務(wù)器(Storage Server):存儲服務(wù)器,主要提供容量和備份服務(wù);以 group 為單位,每個 group 內(nèi)可以有多臺 storage server,數(shù)據(jù)互為備份。
  • 客戶端(Client):上傳下載數(shù)據(jù)的服務(wù)器,也就是我們自己的項目所部署在的服務(wù)器。

說到這就是想告訴小伙伴,接下來我們可能創(chuàng)建 跟蹤服務(wù)器容器、存儲服務(wù)器容器、客戶端容器 這三個容器…

3.1、創(chuàng)建出所需要的目錄

我們先把需要的一些目錄創(chuàng)建出來(數(shù)據(jù)目錄、數(shù)據(jù)存儲目錄等),執(zhí)行命令:

mkdir -p /usr/local/server/fastdfs/tracker/data
mkdir -p /usr/local/server/fastdfs/storage/data
mkdir -p /usr/local/server/fastdfs/storage/path

3.2、創(chuàng)建tracker容器(跟蹤服務(wù)器容器)

執(zhí)行命令:

docker run -id --name tracker \
-p 22122:22122 \
--restart=always --net host \
-v /usr/local/server/fastdfs/tracker/data:/fastdfs/tracker/data \
season/fastdfs:1.2 tracker

再嘮叨一下上方命令:

  • -d:讓容器在后臺運行
  • -p:指定容器內(nèi)部使用的網(wǎng)絡(luò)端口映射到我們使用的主機上
  • --name:指定容器創(chuàng)建的名稱
  • -v:容器跟宿主機之間的掛載目錄

3.3、創(chuàng)建storage容器(存儲服務(wù)器容器)

執(zhí)行命令(非最終執(zhí)行命令,請修改為自己的ip地址):

docker run -id --name storage \
--restart=always --net host \
-v /usr/local/server/fastdfs/data/storage:/fastdfs/store_path \
-e TRACKER_SERVER="10.211.55.4:22122" \
season/fastdfs:1.2 storage

3.4、client測試

兩個容器創(chuàng)建完之后,但此時兩個容器其實并沒有關(guān)聯(lián)起來,我們進入tracker容器,通過client.conf測試一下:

docker exec -it tracker bash
cd /etc/fdfs/
ls
cat client.conf

輸出的 client.conf 都是默認(rèn)配置,我們可以找到其中的 track_server 地址:

嘗試執(zhí)行一下連接:

fdfs_monitor client.conf

然后會得到如下內(nèi)容:

ERROR - file: ../common/connection_pool.c, line: 84, connect to 192.168.209.121:22122 fail, errno: 110, error info: Connection timed out

也就是在沒有修改client配置之前,默認(rèn) tracker 是去連接 192.168.209.121 地址的,那么接下來就是需要去配置client配置文件了。

3.4、修改client.conf配置文件

通過 docker exec -it tracker bash 進入 tracker 容器后不能使用 vi vim 命令,所以干脆將 client.conf 配置文件復(fù)制出來,在宿主機修改完再粘貼回去。

執(zhí)行命令:

docker cp trakcer:/etc/fdfs/client.conf /usr/local/server/fastdfs/

我們通過 docker 指令將配置文件復(fù)制到 /usr/local/server/fastdfs/ 目錄。

我們編輯這個文件,修改 tracker_url 地址(vi client.conf):

修改后保存,然后將修改后的文件替換回去。指令命令:

docker cp /usr/local/server/fastdfs/client.conf tracker:/etc/fdfs 

至此,配置文件修改完了,接下來我們創(chuàng)建文件上傳測試一下。

4、文件上傳測試

執(zhí)行命令,進入 tracker 容器中:

docker exec -it tracker bash

隨便創(chuàng)建一個 txt 文件:

echo "niceyoo" > niceyoo.txt

然后通過 fdfs_upload_file 命令將 niceyoo.txt 文件上傳至服務(wù)器:

fdfs_upload_file /etc/fdfs/client.conf niceyoo.txt

如果此時報了如下錯誤:

那么就創(chuàng)建一下這個路徑,沒有的跳過:

mkdir -p /home/yuqing/fastdfs

創(chuàng)建目錄后重新嘗試提交:

我們復(fù)制出這個文件名來:group1/M00/00/00/CtM3BF84iz2AWE_JAAAACBfWGpM793.txt,這個名稱后面有用,將用作后面配置nginx時配置訪問文件路徑。

因為我們之前掛載了宿主機的目錄,我們?nèi)?cd /usr/local/server/fastdfs 看一下:

cd /usr/local/server/fastdfs/data/storage/data
ls

輸出內(nèi)容如下:

5、配置Nginx

前面的補充已經(jīng)提到了,默認(rèn)上傳的文件是只能在本機訪問的,當(dāng)然這樣肯定是不行的,所以我們需要配置一下Nginx 來幫我們實現(xiàn) Web 訪問的效果。

創(chuàng)建nginx目錄:

mkdir -p /usr/local/server/fastdfs/nginx/

將storage容器中的nginx配置文件復(fù)制出來:

docker cp storage:/etc/nginx/conf/nginx.conf /usr/local/server/fastdfs/nginx/

修改nginx中的配置:

vi /usr/local/server/fastdfs/nginx/nginx.conf

找到local節(jié)點,修改為:

 location / {
    root /fastdfs/store_path/data;
    ngx_fastdfs_module;
 }

相關(guān)截圖如下:

接下來就是創(chuàng)建nginx容器,并指向剛剛的配置文件了。

沒有安裝過nginx的小伙伴同樣可以執(zhí)行如下指令,默認(rèn)會幫你拉取鏡像然后安裝的。

注意:請修改ip地址后再執(zhí)行

docker run -id --name fastdfs_nginx \
--restart=always \
-v /usr/local/server/fastdfs/data/storage:/fastdfs/store_path \
-v /usr/local/server/fastdfs/nginx/nginx.conf:/etc/nginx/conf/nginx.conf \
-p 8888:80 \
-e TRACKER_SERVER=10.211.55.4:22122 \
season/fastdfs:1.2 nginx

至此,我們查看一下目前創(chuàng)建以及啟動的容器:

我們測試一下之前上傳的文件 group1/M00/00/00/CtM3BF84iz2AWE_JAAAACBfWGpM793.txt,執(zhí)行如下命令:

curl -i http://127.0.0.1:8888/group1/M00/00/00/CtM3BF84iz2AWE_JAAAACBfWGpM793.txt

執(zhí)行結(jié)果:

至此,整個過程就搭建成功了,我們通過瀏覽器訪問一下:

搭建完成怎么在項目當(dāng)中使用呢?

SpringBoot集成FastDFS依賴實現(xiàn)文件上傳

到此這篇關(guān)于Docker中搭建FastDFS文件系統(tǒng)(多圖教程)的文章就介紹到這了,更多相關(guān)Docker搭建FastDFS內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker運行springboot項目的實現(xiàn)

    Docker運行springboot項目的實現(xiàn)

    這篇文章主要介紹了Docker運行springboot項目的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Gitlab-runner+Docker實現(xiàn)自動部署SpringBoot項目

    Gitlab-runner+Docker實現(xiàn)自動部署SpringBoot項目

    這篇文章主要介紹了Gitlab-runner+Docker自動部署SpringBoot項目,我們的主要流程就是通過Gitlab管理代碼,然后利用Gitlab自帶的Gitlab?CI/CD功能與GitlabRunner進行注冊綁定,需要的朋友可以參考下
    2022-04-04
  • Docker安裝官方Redis鏡像并啟用密碼認(rèn)證

    Docker安裝官方Redis鏡像并啟用密碼認(rèn)證

    這篇文章主要介紹了Docker安裝官方Redis鏡像并啟用密碼認(rèn)證,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • 管理(限制)Docker日志大小的方法總結(jié)

    管理(限制)Docker日志大小的方法總結(jié)

    在容器化部署的時候,因為沒有指定日志的最大存儲時間,導(dǎo)致磁盤被充爆,這篇文章主要介紹了管理(限制)Docker日志大小的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-08-08
  • 解決docker不加載 /etc/docker/daemon.json文件的問題小結(jié)

    解決docker不加載 /etc/docker/daemon.json文件的問題小結(jié)

    在Ubuntu 24.04 LTS Server上安裝Docker后,發(fā)現(xiàn)鏡像不保存且配置文件路徑不正確,通過檢查發(fā)現(xiàn)Docker服務(wù)啟動時加載了非預(yù)期的配置文件,最終通過修改服務(wù)配置文件解決了問題,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • Linux中安裝Docker Compose的步驟

    Linux中安裝Docker Compose的步驟

    Docker Compose需要在系統(tǒng)上安裝了Docker才能正常工作,如果你的系統(tǒng)上還沒有安裝Docker,請先安裝Docker,下面給大家分享Linux中安裝Docker Compose的步驟,感興趣的朋友一起看看吧
    2024-05-05
  • Docker Compose一鍵部署LNMP環(huán)境詳細(xì)過程

    Docker Compose一鍵部署LNMP環(huán)境詳細(xì)過程

    LNMP通常包括Nginx作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫,PHP處理動態(tài)內(nèi)容,可能還需要phpMyAdmin進行數(shù)據(jù)庫管理,今天給大家介紹下Docker Compose一鍵部署LNMP環(huán)境的詳細(xì)過程,感興趣的朋友一起看看吧
    2025-04-04
  • docker-compose 詳解及示例代碼

    docker-compose 詳解及示例代碼

    這篇文章主要介紹了docker-compose 詳解的相關(guān)資料,并附簡單實例,需要的朋友可以參考下
    2016-10-10
  • 使用Docker的NFS-Ganesha鏡像搭建nfs服務(wù)器的詳細(xì)過程

    使用Docker的NFS-Ganesha鏡像搭建nfs服務(wù)器的詳細(xì)過程

    這篇文章主要介紹了使用Docker的NFS-Ganesha鏡像搭建nfs服務(wù)器,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • docker部署ruoyi項目的詳細(xì)步驟

    docker部署ruoyi項目的詳細(xì)步驟

    這篇文章主要介紹了docker部署ruoyi項目的詳細(xì)步驟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2025-06-06

最新評論

图木舒克市| SHOW| 偏关县| 上蔡县| 苏尼特左旗| 那坡县| 长兴县| 弥渡县| 河北省| 金乡县| 达日县| 海淀区| 杭州市| 夏津县| 饶平县| 江北区| 保康县| 平江县| 随州市| 秭归县| 平原县| 琼结县| 罗江县| 大安市| 台东市| 惠州市| 宣汉县| 东海县| 云南省| 湖北省| 沅江市| 保靖县| 阆中市| 循化| 澎湖县| 乐安县| 尖扎县| 定安县| 渭南市| 平乡县| 隆化县|