Docker搭建FastDFS文件系统
CentOS 7怎么安装docker请看https://blog.csdn.net/qq_36357242/article/details/100144208
1.查看fastdfs的镜像!
docker search fastdfs
2.拉取镜像
docker pull delron/fastdfs
3.启动tracker服务
mkdir tracker storage
docker run -d --network=host --name FDFS-Tracker -v `pwd`/tracker:/var/fdfs delron/fastdfs tracker
4.启动storage服务
docker run -d --network=host --name FDFS-Storage -e TRACKER_SERVER=10.17.0.19:22122 -v `pwd`/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
- 注意我标红的地方,必须指向你服务器的ip地址
5.docker ps 查看一下已经启动的容器
俩容器已经成功启动了!
6.进入到storage容器中
docker exec -it FDFS-Storage /bin/bash
这里说明一下,进入容器中后你会发现进入了一个nginx
文件下,是的没错!这个fastdfs
容器自带了nginx
,重点是因为你现在进入了容器中,而你并不能通过xftp
访问到这个文件夹,后面我会讲到文件路径的问题。
7.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
8.修改8888端口
那么假如在访问的时候不想用默认端口8888,因为这个端口可能比较常用,被占用了就不好了!那么这时候就可以把它修改一下了。
vi /etc/fdfs/storage.conf
翻到最后一行,如下图,可以改为其它端口,如:8001
9.修改nginx端口
vi /usr/local/nginx/conf/nginx.conf
10.重启容器
修改端口完成后需要重启容器,端口才能生效;并且你还需要在物理机防火墙上开启8001端口!如果使用默认端口则不用重启。
docker restart FDFS-Storage
firewall-cmd --zone=public --permanent --add-port=8001/tcp
11.上传测试
- 我们现在将一张图片上传到fastdfs服务上,看看效果,再次进入容器
docker exec -it FDFS-Storage /bin/bash
- 进入fdfs这个文件下!
cd /var/fdfs
wget https://img.winjay.cn/md/guidao_2965-7be6ab3c7a9f45b8b8ba742ddf68bd81.jpg
- 运行命令
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf guidao_2965-7be6ab3c7a9f45b8b8ba742ddf68bd81.jpg
在之前的3,4步中,细心的伙伴发现了没有:图片已经下载到了容器挂载的位置!
12.查看home目录
通过xftp查看一下这个pwd
文件夹;会有(storage、tracker)俩个文件夹,将你的图片guidao_2965-7be6ab3c7a9f45b8b8ba742ddf68bd81.jpg
放到storage文件夹下就可以了!
13.返回地址
接着11步,运行完成以后
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf guidao_2965-7be6ab3c7a9f45b8b8ba742ddf68bd81.jpg
会出现如下图,会返回一个地址:
group1/M00/00/00/ChEAE2Vu572AIDclAAN3dzEXk4c350.jpg
这样就上传成功了!在浏览器上look一下,
至此,这个文章就算完成了,在我学习的过程中,他们会把转储格式也会贴上来,这里我就不贴了,想了解的大家多百度百度!整体来讲,docker安装要比centos简单,简略了关联linux这一块!
评论区