通过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