docker搭建FastDFS文件系统
1 查看fastdfs的镜像!
docker search fastdfs
2 拉取镜像
docker pull delron/fastdfs
3 查看镜像
docker images
4 启动tracker服务
docker run -d --network=host --name tracker -v /home/tracker:/var/fdfs delron/fastdfs tracker
5 启动storage服务(ip地址记得替换)
docker run -d --network=host --name storage -e TRACKER_SERVER=192.168.22.128:22122 -v /home/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
6 docker ps 查看一下已经启动的容器
docker ps
7 进入到storage容器中
docker exec -it 5fdfa64fa514 bash
这里说明一下,进入容器中后你会发现进入了一个nginx文件下,是的没错!这个fastdfs容器自带了nginx,重点是因为你现在进入了容器中,而你并不能通过xftp访问到这个文件夹,后面我会讲到文件路径的问题
8 端口
fastdfs默认的端口有三个8888,23000,22122,,8888是默认的nginx代理端口,23000是storage服务端口,22122是tracker服务端口。
所以为了图片上传成功,需要开发这三个端口!
firewall-cmd --zone=public --permanent --add-port=23000/tcp
firewall-cmd --zone=public --permanent --add-port=22122/tcp
firewall-cmd --zone=public --permanent --add-port=8888/tcp
9 端口修改
9.1 修改storage端口
vi /etc/fdfs/storage.conf
翻到最后一行,如下图,我改为了8001
9.2 修改nginx端口
vi /usr/local/nginx/conf/nginx.conf
10 重启容器
修改完成后需要重启容器,端口才能生效,当然你还需要开启8001端口!
exit;
docker restart 5fdfa64fa514
firewall-cmd --zone=public --permanent --add-port=8001/tcp
11 图片上传测试
找到映射关系。向home/storage下上传一张1.jpg的图片。
cd /var/fdfs
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.jpg
12 浏览器访问测试
访问路径为:ip+端口+服务器地址
http://119.45.33.239:8888/group1/M00/00/00/Cs4AAl8AefCAT9PhAACOK-zzsKA473.jpg