Docker 安装 morunchang/fastdfs
1. 拉镜像
docker search fastdfs;
morunchang/fastdfs 用于存储照片
docker pull morunchang/fastdfs;
2. Tracker 设置
运行 tracker
docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh
进入 tracker
docker exec -it tracker /bin/bash
两个端口号:
21000
22122
三个文件:
- /etc/nginx/conf/nginx.conf
- /etc/fdfs/client.conf
- /etc/fdfs/tracker.conf
修改
/etc/nginx/conf/nginx.conf
vim /etc/nginx/conf/nginx.conf
修改
/etc/fdfs/client.conf
vim /etc/fdfs/client.conf
IP:22122
修改
/etc/fdfs/tracker.conf
vim /etc/fdfs/tracker.conf
3. Storage 设置
运行 tracker
docker run -d --name storage --net=host -e TRACKER_IP=192.168.19.129:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh
需要
查看
共享卷查看上传照片, 用下面的代码.
docker run -d --name storage --net=host -e TRACKER_IP=192.168.19.129:22122 -v /home/docker/fastdfs/storage/image:/data/fast_data -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh
进入 storage
docker exec -it storage /bin/bash
用到三个端口号:
22000
23000
22122
三个文件:
- /etc/nginx/conf/nginx.conf
- /etc/fdfs/storage.conf
- /etc/fdfs/tracker.conf
修改
/etc/nginx/conf/nginx.conf
vim /etc/nginx/conf/nginx.conf
修改
/etc/fdfs/client.conf
vim /etc/fdfs/client.conf
修改
/etc/fdfs/storage.conf
vim /etc/fdfs/storage.conf
3.1 照片的存储路径
vim /etc/fdfs/storage.conf
照片就存储在
/data/fast_data
下
看这个路径, 再加上 Nginx 的配置文件, 关联后面的 URL 就明白了.
4. 打开防火墙
开放端口号
firewall-cmd --zone=public --add-port 21000/tcp --permanent;
firewall-cmd --zone=public --add-port 22000/tcp --permanent;
firewall-cmd --zone=public --add-port 22122/tcp --permanent;
firewall-cmd --zone=public --add-port 23000/tcp --permanent;
firewall-cmd --reload;
查看防火墙的开放端口号
firewall-cmd --zone=public --list-all;
5. 访问
http://192.168.19.129:22000/
上传完照片后的访问路径大概像下面一样:
http://IP地址:端口号/Storage组/上传到Storage后存储照片的相对路径名
http://192.168.19.129:22000/group1/M00/00/00/wKgTgV70nxGAdQErABAObwggP84195.png
6. 防止缓存
防止用户删除照片后再次出现.
docker exec -it storage /bin/bash
vim /etc/nginx/conf/nginx.conf
添加内容
add_header Cache-Control no-store;
exit
docker restart storage
来源:oschina
链接:https://my.oschina.net/u/4262172/blog/4326373