1.安装FastDFS镜像
拉取镜像
docker pull morunchang/fastdfs
运行tracker
docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh
运行storage
docker run -d --name storage --net=host -e TRACKER_IP=192.168.0.2:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh
- 使用的网络模式是–net=host, 192.168.0.2是宿主机的IP
- group1是组名,即storage的组
- 如果想要增加新的storage服务器,再次运行该命令,注意更换 新组名
- 如果想要挂载到本机目录,就在命令里面添加
-v /data/fastdfs/storage:/data/fast_data
2.配置Nginx
Nginx在这里主要提供对FastDFS图片访问的支持,Docker容器中已经集成了Nginx,我们需要修改nginx的配置,进入storage的容器内部,修改nginx.conf
docker exec -it storage /bin/bash
进入后
vi /etc/nginx/conf/nginx.conf
添加以下内容
location ~ /M00 {
root /data/fast_data/data;
ngx_fastdfs_module;
}
禁止缓存:
add_header Cache-Control no-store;
退出容器
exit
重启storage容器
docker restart storage
查看启动容器docker ps
9f2391f73d97 morunchang/fastdfs "sh storage.sh" 12 minutes ago Up 12 seconds storage
e22a3c7f95ea morunchang/fastdfs "sh tracker.sh" 13 minutes ago Up 13 minutes tracker
开启启动设置
docker update --restart=always tracker
docker update --restart=always storage
到这里服务器就搭建完成了,剩下的就是写自己的文件上传功能了,上传后访问图片的地址格式如下
http://192.168.0.2:8080/group1/M00/00/00/rBUABl-CwNuAeRPyAAFwqWytcEA860.png
注意,这里每次访问的端口是8080端口,访问的端口其实是storage容器的nginx端口,如果想修改该端口可以直接进入到storage容器,然后修改即可。
docker exec -it storage /bin/bash
vi /etc/nginx/conf/nginx.conf