基于Docker部署FastDFS文件服务器

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 这个地址就可查看上传的图片。

上一篇:(十一)整合 FastDFS 中间件,实现文件分布式管理


下一篇:Docker中搭建FastDFS文件系统(多图)