Docker下搭建FastDFS

1. 创建虚拟机,安装docker,docker-compose环境

2.创建目录和文件

$ mkdir -p /usr/local/docker/fastdfs
$ cd /usr/local/docker/fastdfs
$ vim docker-compose.yml
...

最终目录结构
image

2.1 docker-compose.yml

version: '3'

services:
 tracker:
  container_name: tracker
  image: "morunchang/fastdfs"
  network_mode: host
  entrypoint: sh tracker.sh
 storage0:
  container_name: storage0
  depends_on:
    - tracker
  build: ./storage
  network_mode: host
  environment:
   GROUP_NAME: storagegroup
   TRACKER_IP: 192.168.1.144:22122
  volumes:
    - /var/local/docker/fastdfs/storage0:/data/fast_data

2.2 storage/Dockerfile

Dockerfile

FROM morunchang/fastdfs
COPY nginx.conf /data/nginx/conf/nginx.conf
ENTRYPOINT sh storage.sh

2.2 storage/nginx.cnf

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location /storagegroup/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;
         }

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

}

启动

docker-compose up -d

客户端测试


参考网站
* https://blog.csdn.net/alinyua/article/details/82464496
* https://blog.csdn.net/lizhihaooo/article/details/79261388
* http://blog.csdn.net/ityouknow/article/details/79078175

注意如果拒绝访问,那么有可能是tracker的ip地址配置有误,或者防火墙需要关闭,关闭防火墙的参考https://www.cnblogs.com/moxiaoan/p/5683743.html

**外网部署,要开启23000端口

https://www.cnblogs.com/nbf-156cwl/articles/FastDFS.html