CentOS Docker 环境中安装及配置 FastDFS 分布式文件系统
拉取镜像
docker pull morunchang/fastdfs
运行tracker
docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh
运行storage,注意把xxx.xxx.xxx.xxx换成自己的服务器IP
docker run -d --name storage --net=host -e TRACKER_IP=<your tracker server address>:22122 -v /var/fdfs/fast_data/data:/data/fast_data/data -e GROUP_NAME=<group name> morunchang/fastdfs sh storage.sh
例如:
docker run -d --name storage --net=host -e TRACKER_IP=192.168.1.135:22122 -v /var/fdfs/fast_data/data:/data/fast_data/data -e GROUP_NAME=GROUP00 morunchang/fastdfs sh storage.sh /* 1.使用的网络模式是–net=host, <your tracker server address> 替换为你的Ip即可,这个IP是DOCKER容器内的IP , 不是本机IP
使用 docker exec -it 容器名称/bin/bash 进入对应的容器, 用ip addr查看 2.<group name> 是组名,即storage的组 3.如果想要增加新的storage服务器,再次运行该命令,注意更换 新组名 4.-v /var/fdfs/fast_data/data:/data/fast_data/data 表示将宿主机的/var/fdfs/fast_data/data目录挂在到docker的/data/fast_data/data目录 该目录为FastDFS在docker中的默认上传路径.
可在 /etc/fdfs/storage.conf 文件中的base_path字段中修改默认上传路径.
5. docker ps 查看容器信息 [root@iZh3cshm0xz7wjZ ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ccdf6bbeab48 morunchang/fastdfs "sh storage.sh" 5 seconds ago Up 4 seconds storage a7253c93bce1 morunchang/fastdfs "sh tracker.sh" About a minute ago Up About a minute tracker
修改nginx的配置,不拦截上传内容
//1.进入容器内部 docker exec -it storage /bin/bash // storage 是 docker ps 中的NAMES // exit 退出 root@iZh3cshm0xz7wjZ:/# cd data root@iZh3cshm0xz7wjZ:/data# ls fast_data fastdfs fastdfs-nginx-module libfastcommon nginx nginx-1.9.11.tar.gz //2.修改nginx配置文件 root@iZh3cshm0xz7wjZ:/# vi /data/nginx/conf/nginx.conf //3. 添加修改内容 location /group1/M00 { proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_cache http-cache; proxy_cache_valid 200 304 12h; proxy_cache_key $uri$is_args$args; proxy_pass http://fdfs_group1; expires 30d; } //4.退出 root@iZh3cshm0xz7wjZ:/data/nginx/conf# exit exit //5. 重启storage服务 [root@iZh3cshm0xz7wjZ ~]# docker restart storage storage