FastDFS_Docker安装

在centos7下使用FastDFS的docker镜像

下载fastdfs的docker镜像


下载docker镜像: docker pull season/fastdfs

fastdfs配置目录


下载好了一个镜像以后,在宿主机中新建目录用,于存放fastdfs配置文件和数据,名称根据自己需求,如下只是样例,fastdfs在一台服务器支持多个store_path,每个store_path指向一个存储路径
etc(配置文件地址) storage_data(存储数据地址)storage_data(存储数据地址) store_path(扩容)

1
2
3
4
mkdir /usr/local/fastdfs/etc/ 
mkdir /usr/local/fastdfs/data/storage_data
mkdir /usr/local/fastdfs/data/store_path
mkdir /usr/local/fastdfs/data/tracker_data

获取配置文件


启动一个fastdfs的docker容器,查看容器id,从容器中下载配置文件并且下载到上面创建的 /usr/local/fastdfs/etc/ 目录中.

1
2
3
docker run -ti --name fdfs_sh --net=host season/fastdfs sh
docker ps -a
docker cp -a 07e7af1fdf74:/fdfs_conf/. /usr/local/fastdfs/etc

修改配置文件


主要修改的是文件存储目录和跟踪服务器地址,tracker_server 根据自己机器的地址进行配置
tracker.conf 主要修改如下几行

base_path=/fastdfs/storage
store_path0=/fastdfs/storage/
tracker_server=192.168.1.214:22122

tracker.conf 主要修改如下几行

tracker_server=192.168.1.214:22122

client.conf修改如下几行

tracker_server=192.168.1.214:22122

启动容器


启动容器脚本,先启动一个tracker 然后再启动一个storage,-v 后面跟的目录映射,TRACKER_SERVER 地址根据自己机器的地址进行配置,--privileged=true 主要是解决目录权限

1
2
3
4
5
6
7
8
9
10
11
12
13
docker run -tid --name  trakcer \
-v /usr/local/fastdfs/data/tracker_data/data:/fastdfs/tracker/data \
-v /usr/local/fastdfs/etc:/fdfs_conf \
--privileged=true \
--net=host season/fastdfs tracker

docker run -tid --name storage \
-v /usr/local/fastdfs/data/storage_data/data:/fastdfs/storage/data \
-v /usr/local/fastdfs/data/store_path:/fastdfs/store_path \
-v /usr/local/fastdfs/etc:/fdfs_conf \
--privileged=true \
--net=host -e TRACKER_SERVER:192.168.1.214:22122 \
season/fastdfs storage

执行完上面的脚本会启动两个容器,使用docker ps可以进行查看,如果没有启动成功可以使用docker logs 容器id 查看日志

启动测试


还是启动一个容器,在容器中进行测试,启动容器会用到client.conf

1
2
3
4
docker run -ti --name fdfs_sh \
-v /usr/local/fastdfs/etc:/fdfs_conf \
--privileged=true \
--net=host season/fastdfs sh

执行完脚本会自动进入容器,切换到/usr/bin然后执行上传文件。

1
2
cd /usr/bin
fdfs_test /fdfs_conf/client.conf upload /fdfs_conf/storage.conf

上传完成后会返回一些信息其中会包含文件地址,可以到宿主机目录进行查看

example file url: http://192.168.1.214/group1/M00/00/00/wKgB1lozOU-ASzg7AAAgC81RIQ441_big.conf

添加开放端口


添加开放端口,让fastdfs可以供其他程序调用
要添加哪些端口可以在fastdfs配置文件中查找。

1
2
3
4
firewall-cmd --zone=public --add-port=22122/tcp --permanent
firewall-cmd --zone=public --add-port=23000/tcp --permanent
firewall-cmd --zone=public --add-port=8088/tcp --permanent
firewall-cmd --reload