Docker搭建Fastdfs企业级分布式文件系统

Docker的安装搭建及原理请看上一篇
新建宿主机目录挂载文件
mkdir -R /opt/docker-fastdfs/tracker
mkdir -R /opt/docker-fastdfs/storage
查找Docker Hub上的redis镜像
docker search fastdfs
拉取远程镜像(拉取最新,该版本fastdfs内部集成了nginx只需配置,推荐)
docker pull delron/fastdfs
运行docker fastdfs tracker
docker run -d --name tracker --net=mysubnet --ip 100.100.0.9 --restart=always -v /opt/docker-fastdfs/tracker:/var/fdfs delron/fastdfs tracker
运行docker fastdfs storage(storage容器需要依赖tracker服务,传入你的tracker服务的ip地址,端口默认是22122,ip地址也就是你宿主机的ip)
docker run -d --name storage --net=mysubnet --ip 100.100.0.10 -e TRACKER_SERVER=100.100.0.9:22122 -v /opt/docker-fastdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
开放对外的端口(注意:阿里云必须开放22122端口23000端口8888端口才能测试成功)
22122(tracker服务器端口 默认22122) 
23000(storage服务器端口 默认23000)
8888(该端口为storage.conf中的http.server_port端口,与storage容器中的nginx监听端口一致)
文件上传fastdfs文件系统测试
拷贝文件到fastdfs的storage目录,进入storage容器内部;
执行命令 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.jpg 返回路径地址
测试路径:IP:8888/返回存储路径
开启启动容器(可选)
docker update --restart=always tracker
docker update --restart=always storage
java连接fastdfs服务
tracker_server = IP:22122   
# docker storage 容器内部配置etc/fdfs/http.conf
http:anti_steal_token = no
http:tracker_http_port = 8888
http.secret_key = 123456
注意:
1.如果无法重新运行storage容器,可以删除/var/fdfs/storage/data目录下的fdfs_storaged.pid 文件,然后重新运行storage, pid文件重要

2.如果修改了storage容器内的nginx配置,启动报错tail: cannot open '/var/fdfs/logs/storaged.log' for reading: No such file or directory,

需手动创建 /var/fdfs/logs/storaged.log文件

FastDFS存储原理请关注下一篇

你可能感兴趣的:(Docker搭建Fastdfs企业级分布式文件系统)