1. 下載鏡像
選擇season/fastdfs权悟,鏡像地址:https://hub.docker.com/r/season/fastdfs
下載1.2 版本鏡像
docker pull season/fastdfs:1.2
如果服務器無法連接網(wǎng)絡,docker save 鏡像保存筝闹,docker load 鏡像保存指令來完成鏡像加載。
2. 預先創(chuàng)建目錄
mkdir -p /opt/data/fastdfs/trakcer/data
mkdir -p /opt/data/fastdfs/storage/data
mkdir -p /opt/data/fastdfs/storage/path
3. 創(chuàng)建trakcer容器(跟蹤服務器容器)
docker run -id --name tracker -p 22122:22122 --restart=always --net host -v /opt/data/fastdfs/trakcer/data:/fastdfs/tracker/data season/fastdfs:1.2 tracker
-d:讓容器在后臺運行
-p:指定容器內(nèi)部使用的網(wǎng)絡端口映射到我們使用的主機上
--name:指定容器創(chuàng)建的名稱
-v:容器跟宿主機之間的掛載目錄
4. 創(chuàng)建storage容器(存儲服務器容器)
docker run -id --name storage --restart=always --net host -v /opt/data/fastdfs/storage/data:/fastdfs/storage/data -v /opt/data/fastdfs/storage/path:/fastdfs/store_path -e TRACKER_SERVER="172.16.37.36:22122" season/fastdfs:1.2 storage
進入tracker 容器查看
docker exec -it tracker bash
cd /etc/fdfs/
ls
cat client.conf
查看后需要修改:track_server 地址
5. 修改tracker 容器中client.conf 文件
進入 tracker 容器后不能使用 vi vim 命令红且,所以干脆將 client.conf 配置文件復制出來湖苞,在宿主機修改完再粘貼回去
docker cp tracker:/etc/fdfs/client.conf /opt/data/fastdfs
修改為 track_server 地址 為自己的ip
image.png
將修改后的文件替換回去
docker cp /opt/data/fastdfs/client.conf tracker:/etc/fdfs
5. 文件上傳測試
執(zhí)行命令,進入 tracker 容器中:
docker exec -it tracker bash
隨便創(chuàng)建一個 txt 文件:
echo "niceyoo" > niceyoo.txt
然后通過 fdfs_upload_file 命令將 niceyoo.txt 文件上傳至服務器:
fdfs_upload_file /etc/fdfs/client.conf niceyoo.txt
返回 group1/M00/00/00/rBAlJF_qwxuAdLh1AAAACBfWGpM928.txt 地址 打颤,說明上傳成功
6. 配置nginx
默認上傳的文件是只能在本機訪問的,當然這樣肯定是不行的漓滔,所以我們需要配置一下Nginx 來幫我們實現(xiàn) Web 訪問的效果编饺。
創(chuàng)建nginx目錄:
mkdir -p /opt/data/fastdfs/nginx/
將storage容器中的nginx配置文件復制出來:
docker cp storage:/etc/nginx/conf/nginx.conf /opt/data/fastdfs/nginx/
修改nginx中的配置:
找到local節(jié)點,修改為:
location / {
root /fastdfs/store_path/data;
ngx_fastdfs_module;
}
image.png
創(chuàng)建nginx 容器
docker run -id --name fastdfs_nginx --restart=always -v /opt/data/fastdfs/storage/path:/fastdfs/store_path -v /opt/data/fastdfs/nginx/nginx.conf:/etc/nginx/conf/nginx.conf -p 8888:80 -e TRACKER_SERVER=172.16.37.36:22122 season/fastdfs:1.2 nginx
7. 測試
測試之前上傳的文件:
image.png
或者通過瀏覽器進行訪問响驴。