1.查找Docker Hub上的redis鏡像
docker search fastdfs
2.拉取鏡像
docker pull delron/fastdfs #拉取最新版本
3.查看鏡像
docker images
4.使用docker鏡像構建tracker容器(跟蹤服務器,起到調度的作用):
docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs tracker
5.使用docker鏡像構建storage容器(存儲服務器,提供容量和備份服務):
docker run -dti --network=host --name storage -e TRACKER_SERVER=192.168.56.1:22122 -v /var/fdfs/storage:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs storage
TRACKER_SERVER=本機的ip地址:22122 本機ip地址不要使用127.0.0.1
進入storage容器(docker exec -it storage bash),到storage的配置文件中配置http訪問的端口,配置文件在/etc/fdfs目錄下的storage.conf。
默認端口是8888,也可以不進行更改。
如果重啓後無法啓動的會,可能是報下面錯誤了,手動創建 vi /var/fdfs/logs/storaged.log 文件即可
tail: cannot open '/var/fdfs/logs/storaged.log' for reading: No such file or directory
6.配置nginx
進入storage,配置nginx,在/usr/local/nginx目錄下,修改nginx.conf文件,默認配置不修改也可以
7.測試上傳文件
使用web模塊進行文件的上傳,將文件上傳至FastDFS文件系統
將一張照片(test.png)放置在/var/fdfs/storage目錄下,進入storage容器,進入/var/fdfs目錄,運行下面命令:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.png
此時將該圖片已上傳至文件系統,並在執行該語句後返回圖片存儲的uri:
通過url訪問http://ip:8888/group1/M00/00/00/CgACD1z7SEuAXrIqAA1eBLGVLow043.png,即可查看到圖片
8.開放端口
firewall-cmd --zone=public --permanent --add-port=8888/tcp
firewall-cmd --zone=public --permanent --add-port=22122/tcp
firewall-cmd --zone=public --permanent --add-port=23000/tcp
重啓防火牆
systemctl restart firewalld
9.開啓啓動容器
docker update --restart=always tracker
docker update --restart=always storage
10.常見問題
storage 無法啓動
運行 docker container start storage 無法啓動,進行如下操作即可:
可以刪除/var/fdfs/storage/data目錄下的fdfs_storaged.pid 文件,然後重新運行storage。