docker 安装 fastDFS
2020-06-15 本文已影响0人
numqin
安装示意图
tracker 安装
安装 docker
yum install docker -y
启动 docker
service start docker
获取image
docker pull delron/fastdfs
创建 tracker 容器
docker run -d --network=host --name tracker -v /root:/var/root delron/fastdfs tracker
storage 安装
安装 docker
yum install docker -y
启动 docker
service start docker
获取image
docker pull delron/fastdfs
创建 storage 容器
TRACKER_SERVER 为 tracker 的 IP
docker run -d --network=host --name storage -e TRACKER_SERVER=192.168.31.101:22122 -v /root:/var/root -e GROUP_NAME=group1 delron/fastdfs storage
进入storage容器
docker exec -it storage /bin/bash
测试图片上传
wget https://v3u.cn/v3u/Public/images/logo.png
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf logo.png
无法上传成功请查看相关端口是否开启
完成以上操作就可以对外提供服务了,如果后续需要进行扩容可以看下面的扩容操作
扩容操作
-
再次安装 storage,
GROUP_NAME=group2
必须与之前的不一样docker run -d --network=host --name storage -e TRACKER_SERVER=192.168.31.101:22122 -v /root:/var/root -e GROUP_NAME=group2 delron/fastdfs storage
-
进入 tracker 服务器 修改 /etc/fdfs/tracker.conf 中的 store_lookup=0 ,这样可以利于测试。tracker 服务器会两个 storage 轮流上传文件
# the method of selecting group to upload files # 0: round robin # 1: specify group # 2: load balance, select the max free space group to upload file store_lookup=0
-
修改对应的 storage 的 /etc/fdfs/mod_fastdfs.conf 中的 group name 参数,必须与安装在本台服务器的 docker 启动命令中的
GROUP_NAME=group2
一致 -
进入 tracker 服务器 添加 nginx 配置
upstream fdfs_group1 { server 192.168.31.102:8888 weight=1 max_fails=2 fail_timeout=30s; } upstream fdfs_group2 { server 192.168.31.103:8888 weight=1 max_fails=2 fail_timeout=30s; }
location /group1/M00 { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://fdfs_group1; } location /group2/M00 { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://fdfs_group2; }
其他
storage 容器重启后无法启动问题
创建 storaged.log 即可
在宿主机中创建 storaged.log 文件,然后拷贝到 storage 容器中去
docker cp storaged.log storage:/var/fdfs/logs/