Docker搭建fastdfs
centos7怎么安装docker请看
https://blog.csdn.net/qq_36357242/article/details/100144208
docker search fastdfs
启动tracker服务
docker run -d --network=host --name tracker -v /home/tracker:/var/fdfs delron/fastdfs tracker
启动storage服务
docker run -d --network=host --name storage -e TRACKER_SERVER=你的ip:22122 -v /home/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
注意指向你服务器的ip地址
docker ps 查看已启动的容器俩容器已经成功启动了!
进入到storage容器中
docker exec -it 3e54741d7b9b bash
这里说明一下,进入容器中后你会发现进入了一个nginx文件下,是的没错!这个fastdfs容器自带了nginx,重点是因为你现在进入了容器中,而你并不能通过xftp访问到这个文件夹,后面我会讲到文件路径的问题
fastdfs默认的端口有三个8888,23000,22122,分别解释一下(我个人理解,对与不对我不保证,因为我也是第一次玩),8888是默认的nginx代理端口,23000是storage服务端口,22122是tracker服务端口。
https://www.cnblogs.com/smartycity/p/5752865.html,这篇文章解释了!
所以为了图片上传成功,需要开发这三个端口!
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
默认端口修改
那么我在访问的时候不想用默认端口8888,因为这个端口可能比较常用,被占用了就不好了!那么这时候就可以把它修改一下了。
vi /etc/fdfs/storage.conf
翻到最后一行,如下图,我改为了8001
nginx修改
vi /usr/local/nginx/conf/nginx.conf
如下图
修改完成,重启容器,端口才能生效,还需开启8001端口
我们现在将一张图片上传到fastdfs服务上,看看效果, 再次进入容器docker restart 3e54741d7b9b
firewall-cmd --zone=public --permanent --add-port=8001/tcp
docker exec -it 3e54741d7b9b bash
进入fdfs这个文件下!
cd /var/fdfs
运行命令(注1)
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.jpg
这时候你会问,你他妈的1.jpg哪来的,当时我整这个时候也是懵逼的,网上到了这一步就是一概而过,很难搞!找了半天,我发现了其中秘密!
在之前的启动服务的时候,细心的伙伴发现了没有
也就是容器挂载的位置!
通过xftp查看home文件夹
会有俩个文件夹,将你的图片1.jpg放到storage文件夹下就可以了!