通過docker方式安裝FastDFS
1、首先拉取fastdfs鏡像
必須在能聯網的服務器上,如果需要在離線環境下安裝的話,就先從能聯網的服務器上拉取,
然后通過docker save -o fastdfs.tar delron/fastdfs把鏡像打成tar包,將tar包拷貝到離線服務器,
最后通過docker load -i fastdfs.tar 解壓成鏡像。
拉取鏡像命令
docker pull delron/fastdfs
這個就是拉取到的鏡像
2、使用docker鏡像構建tracker容器(跟蹤服務器,起到調度的作用)
docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs tracker
通過docker ps來檢查容器是否啟動
3、使用docker鏡像構建storage容器(存儲服務器,提供容量和備份服務)
docker run -dti --network=host --name storage -e TRACKER_SERVER=172.16.6.20:22122 -v /var/fdfs/storage:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs storage
TRACKER_SERVER=本機的ip地址:22122 本機ip地址不要使用127.0.0.1
4、進入storage容器,到storage的配置文件中配置http訪問的端口,配置文件在/etc/fdfs目錄下的storage.conf
#進入容器 docker exec -it storage bash #進入目錄 cd /etc/fdfs/ #編輯文件 vi storage.conf
默認端口是8888,可以根據實際情況修改,我這里就使用默認的
5、修改storage中的nginx 不需要安裝
同樣是在storage容器里面操作
cd /usr/local/nginx/conf vi nginx.conf
6、修改完重啟容器,沒有修改就不需要重啟
docker stop storage
docker start storage
如果重啟后無法啟動的會,可能是報下面錯誤了,手動創建 vi /var/fdfs/logs/storaged.log 文件即可
tail: cannot open '/var/fdfs/logs/storaged.log' for reading: No such file or directory
7、測試
進入storage容器,進入/var/fdfs目錄
docker exec -it storage bash cd /var/fdfs echo hello 這是一個測試用例>a.txt /usr/bin/fdfs_upload_file /etc/fdfs/client.conf a.txt
上傳成功會返回文件地址
打開瀏覽器訪問地址 http://ip:8888/
group1/M00/00/00/wKi9jGGNKjmAK_BpAAAAH93k9Eg665.txt
端口根據你在starage里面設置的要保持一致,訪問之前關閉防火牆 或者自己單獨開放端口
端口開放命令
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
cento7防火牆關閉命令
#查看防火牆狀態 firewall-cmd --state #停止firewall systemctl stop firewalld.service #禁止firewall開機啟動 systemctl disable firewalld.service