fastdns的基本信息:
服务端:
storage server 存储节点服务
tracker server 跟踪节点服务
客户端:
client 客户端
架构图示: 如下图
安装配置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命令
图如下:
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的哨兵,无需重启
配置客户端(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 //上传文件