文章目录
前言
Docker中安装FastDFS - delron
1、拉取镜像
docker pull delron/fastdfs
2、创建用于挂载的目录
mkdir -p /home/fastdfs/tracker
mkdir -p /home/fastdfs/storage
3、创建tracker容器
docker run -d --network=host --name tracker -v /home/fastdfs/tracker:/var/fdfs delron/fastdfs tracker
4、创建storage容器
docker run -d --network=host --name storage -e TRACKER_SERVER=47.108.195.145:22122 -v /home/fastdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
注意:
- 如果只是内网访问:-e TRACKER_SERVER=内网IP:22122
- 如果需要外网访问:-e TRACKER_SERVER=外网IP:22122
5、nginx配置(可选)
- nginx默认端口:8888
- 如果不修改nginx端口,请忽略此步骤
5.1、进入 storage 容器
docker exec -it storage bash
5.2、修改 storage 配置文件
vi /etc/fdfs/storage.conf
# 将最后一行的端口:8888 修改为你需要的端口:如 80
http.server_port=8888
5.3、修改 nginx 配置文件
vi /usr/local/nginx/conf/nginx.conf
# 将端口:listen 修改为你需要的端口(与上一步5.2中storage配置的端口保持一致)
server {
listen 8888;
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
5.4、重启 storage 服务
# 退出 storage 容器
exit
# 重启服务,使配置生效
docker restart storage
6、防火墙设置(未开启防火墙,可忽略此步骤)
添加(–permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
重新载入
firewall-cmd --reload
查看
firewall-cmd --list-ports
删除(如果添加错误可以删除)
firewall-cmd --zone= public --remove-port=80/tcp --permanent
7、测试是否成功
进入 storage 容器
docker exec -it storage bash
创建一个文件
echo "niceyoo" > niceyoo.txt
上传文件
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf niceyoo.txt
# 出现地址,说明正确:
group1/M00/00/00/rBnbAGDhJUGAZs7fAAAACBfWGpM165.txt
测试 nginx 是否正确
浏览器输入地址:ip+port/group1/M00/00/00/rBnbAGDhJUGAZs7fAAAACBfWGpM165.txt,显示txt内容则成功
如:http://47.108.195.145:8888/group1/M00/00/00/rBnbAGDhJUGAZs7fAAAACBfWGpM165.txt
8、目录说明
- 配置目录:/etc/fdfs
- 数据目录:/var/fdfs/data
- 日志目录:/var/fdfs/logs
9、查看tracker容器和storage容器的关联
# 进入 storage 容器
docker exec -it storage bash
# 进入配置目录
cd /etc/fdfs
# 查看关联状态
fdfs_monitor storage.conf
总结
无中生有!