1、查找Docker Hub上的fastdfs镜像
docker search fastdfs
2、拉取镜像
docker pull delron/fastdfs
3、使用docker镜像构建tracker容器(跟踪服务器,起到调度的作用)
docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs tracker
4、使用docker镜像构建storage容器(存储服务器,提供容量和备份服务)
docker run -dti --network=host --name storage -e TRACKER_SERVER=10.88.1.53:22122 -v /var/fdfs/storage:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs storage
TRACKER_SERVER 需配置为外网能访问的ip,不能用本机127.0.0.1或服务器内网ip
5、配置访问ip
进入镜像,开始处于nginx目录下面,这个目录与我们需要配置的nginx目录不是一个目录。
docker exec -it storage /bin/bash
进入storage
容器,到storage的配置文件中配置http访问的端口,配置文件在**/etc/fdfs**目录下的storage.conf
。
http.server_port=8888
默认为8888
,根据需要改为自定义端口,同时保持nginx和它一致。
6、配置nginx
进入storage,配置nginx,在**/usr/local/nginx**目录下,修改`nginx.conf文件,默认配置不修改也可以。
server {
listen 90;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
注意:
需要对 8888 、22122、23000 开放防火墙。
7、测试是否配置成功
在本机的**/var/fdfs/storage**目录下放入一张图片 (bug.jpg)
[root@qt-new-db storage]# ls
bug.jpg data logs
然后进入storage容器中,进入 /var/fdfs 目录
[root@qt-new-db storage]# docker exec -it storage /bin/bash
运行下面命令 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf bug.jpg
[root@qt-new-db nginx-1.12.2]# cd /var/fdfs/
[root@qt-new-db fdfs]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf bug.jpg
group1/M00/00/00/wKhAGGDeuVyAP6GXAAAh2vWXn2s784.jpg
此时通过之前nginx配置的端口加上 group1/M00/00/00/wKhAGGDeuVyAP6GXAAAh2vWXn2s784.jpg 这个地址就可查看上传的图片。