docker下搭建fastdns文件服务器

fastdns的基本信息:

服务端:
       storage server   存储节点服务
       tracker server   跟踪节点服务
客户端:   
        client           客户端 
         
架构图示: 如下图
image

image

安装配置fastdfs服务端 (docker方式)

1.下载镜像: docker pull season/fastdfs
2.关闭centos下的selinux内核安全子系统
vi /etc/sysconfig/selinux ===> SELINUX=disabled 否则启动fastdfs会报错
3.启动tracker跟踪服务

$>  docker run -ti -d --name trakcer \
    -v /data/fastdfs/tracker_data:/fastdfs/tracker/data \
    --net=host \
    season/fastdfs \
    tracker
    
    说明: net模式是docker的四大连接模式之一, 主要是和宿主机公用端口,所以这里没有指定端口号
          -it是直接运行命令, 所以最后有个traker是个命令,意思是进入到容器内部运行trakcer命令
       
图如下:
image

4.启动storage存储服务

$> docker run -tid --name storage \
-v /data/fastdfs/storage_data:/fastdfs/storage/data \
-v /data/fastdfs/store_path:/fastdfs/store_path \
--net=host \
-e TRACKER_SERVER:192.168.111.110:22122 \
season/fastdfs \
storage

说明: -e ==> Set environment variables设置环境变量,这里是设置跟踪服务的ip地址
      但这里的e设置环境变量并没有启动成功,依旧需要修改配置文件后重新启动,原因我没弄懂
$> docker cp storage:/fdfs_conf/storage.conf ~/        //复制配置文件到宿主机     
$> vim storage.conf            //修改配置
        tracker_server=192.168.111.110:22122 

$> docker cp ~/storage.conf storage:/fdfs_conf/     //将文件拷贝会docker容器
$> docker restart storage      //重启存储服务
$> docker exec -it storage bash
$> cd fdfs_conf/  && fdfs_monitor storage.conf  如下图 ip_addr= 192.168.111.110 active
注意: traker是跟踪者,相当于redis的哨兵,无需重启
image

配置客户端(docker)

$> docker run -ti --name fdfs_sh --net=host season/fastdfs sh
$> docker cp ~/storage.conf fdfs_sh:/fdfs_conf/   //将track的地址拿过去
$> cd fdfs_conf 
$> fdfs_upload_file storage.conf /a.txt   //上传文件

推荐阅读更多精彩内容