使用docker搭建FastDFS文件系统
搭建教程
首先下载FastDFS文件系统的docker镜像
docker search fastdfs
docker pull delron/fastdfs # 拉取镜像
docker images #查看镜像
使用docker镜像构建tracker容器(跟踪服务器,起到调度的作用):
# 构建容器女
docker run -d --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker
# 查看容器
docker ps
使用docker镜像构建storage容器(存储服务器,提供容量和备份服务):
注意:
TRACKER_SERVER=本机的ip地址:22122 本机ip地址不要使用127.0.0.1
docker run -d --network=host --name storage -e TRACKER_SERVER=ip:22122 -v /var/fdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
上面需要填写你的tracker服务的ip地址,端口默认是22122。
此时两个服务都以启动,进行服务的配置。
进入storage容器,到storage的配置文件中配置http访问的端口,配置文件在/etc/fdfs目录下的storage.conf。
# 进入容器
docker exec -it 容器ID bash
# 编辑配置文件
ls /etc/fdfs/storage.conf
vi /etc/fdfs/storage.conf
默认端口是8888,也可以不进行更改。
vi /etc/fdfs/storage.conf # 编辑配置文件
配置nginx,在/usr/local/nginx目录下,修改nginx.conf文件
cd /usr/local/nginx/
cd conf/
vi nginx.conf
默认配置如下:
修改完重启容器,没有修改就不需要重启
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
测试
进入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/wKgcgF-_Le6AS4LvAAAATzab9Do068.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
重启防火墙
systemctl restart firewalld
开启启动容器
docker update --restart=always tracker
docker update --restart=always storage