已经很久没有使用fastdfs了,前一段时候公司需要搭建一套环境用来作为一个小型的文件系统,使用了fastdfs进行存储,这里mark一下fastdfs的安装(docker版本),网上的教程很多,有的很详细,大家可以找找看。
1.使用docker搜索fastdfs的镜像文件
docker search fastdfs
docker pull morunchang/fastdfs
这里选择下载morunchang/fastdfs镜像,当然,你也可以选择其他的镜像文件。如果你的虚拟机或者服务器的网络不是很好,可能会下载很缓慢。如果实在下载失败,可以选择换一个镜像下载的网站,常用的有很多
Docker 官方中国区:https://registry.docker-cn.com
网易:http://hub-mirror.c.163.com
中国科技大学:https://docker.mirrors.ustc.edu.cn
阿里云:https://pee6w651.mirror.aliyuncs.com
至于怎么修改,这里就不介绍了。
3.安装tracker跟踪器容器
docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh
tracker容器使用host网络,docker容器中的几种网络模式,这里就不介绍了,后面有时间进行补充。
4.进入tracker容器
docker exec -it tracker /bin/bash
修改文件 nginx.conf
vi /etc/nginx/conf/nginx.conf
这里是nginx监听tracker的端口号,即tracker的访问端口号,不过,需要直接访问tracker么?
修改文件client.conf
vi /etc/fdfs/client.conf
这里的这个IP是你本地/服务器的ip,端口号tracker的端口号,你需要自己指定,但是需要跟tracker.conf文件中的端口号一致。
这里的端口号是tracker的访问端口号,和上面的8300不是一个。
修改文件tracker.conf
vi /etc/fdfs/tracker.conf
这个端口号是tracker的端口号。
这个是tracker的监听端口号,http访问的端口号。
使用Shift+zz(两个z)进行保存退出/或者使用 ":wq!"进行保存退出。
5.退出容器
exit
6.安装storage储存器容器
现在/home下面创建文件夹
cd /home
mkdir /docker
cd ./docker
mkdir /fastdfs
cd ./fastdfs
mkdir storage
docker run -d --name storage --net=host -e TRACKER_IP=192.168.124.61:8300 -v /home/docker/fastdfs/storage:/data/fast_data -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh
注意:这里的端口号是tracker容器的ip和端口号,不是tracker的http访问的端口号。
进入容器
docker exec -it storage /bin/bash
修改文件nginx.conf
vi /etc/nginx/conf/nginx.conf
这里是storage容器的监听端口号。
修改文件client.conf
vi /etc/fdfs/client.conf
tracker的端口号和地址
tracker容器的访问端口号
修改文件storage.conf
vi /etc/fdfs/storage.conf
storage容器的端口号
tracker的端口号
storage的访问端口号
保存退出
退出容器
exit
7.重启tracker和storage
docker restart storage tracker
8.确保端口号8300,8310,8400,84104个端口号是不是都是通的,
查看防火墙的开放端口号
sudo firewall-cmd --zone=public --list-all
开放端口号
sudo firewall-cmd --zone=public --add-port 8300/tcp --permanent
sudo firewall-cmd --zone=public --add-port 8310/tcp --permanent
sudo firewall-cmd --zone=public --add-port 8400/tcp --permanent
sudo firewall-cmd --zone=public --add-port 8410/tcp --permanent
firewall-cmd --reload
再次查看端口号
sudo firewall-cmd --zone=public --list-all
上图中就是已经开放的端口号。
9.放上一个文件测试,你可以使用命令进行上传文件,也可以手动上传文件。
这里我们找一张图片,改名为wKlBcFme1iGAJsF1AAL4cszpkW7853.jpg
前往storage挂载的文件路径:
cd /home/docker/fastdfs/storage/data/00/00/
sudo rz
然后就可以在浏览器通过ip进行访问了。
http://192.168.124.61:8410/group1/M00/00/00/wKgByFmn1iGAUsF1AAL4cszpkW0032.jpg