docker+nginx 搭建 FastDFS
获取FastDFS文件系统的docker镜像
docker search fastdfs
docker pull delron/fastdfs
使用docker镜像构建tracker容器
docker run -d --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker
使用docker镜像构建storage容器
docker run -d --network=host --name storage -e TRACKER_SERVER=你的ip:22122(端口默认为22122) -v /var/fdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
到storage容器中更改HTTP访问的端口(默认为8888端口)
docker exec -it storage bash
vi /etc/fdfs/storage.conf
-------修改以下内容-------
http.server_port=8888(将8888改为想要的端口)
配置nginx
cd /etc/nginx
vi nginx.config
在http的大括号中添加server:
server{
listen 8874;
server_name 39.98.34.83;
location /group1/M00{
alias /var/fdfs/storage/data;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html{
root html;
}
}
测试
首先进入storage容器
docker exec -it storage bash #进入容器
echo hello>a.txt #创建一个内容为hello的a.txt
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf a.txt #上传a.txt
此时将该图片已上传至文件系统,并在执行该语句后返回图片存储的URL
在浏览器通过URL访问文件
http://你的ip:8874/group1/M00/00/00/rBqcm11jqJmAYbY9AAAABncc3SA212.txt
一开始我把文件存储到了/root/下,导致没有权限去访问文件,后来改了文件存储地址,访问成功