部署前说明
一、首先要确认已经安装完成了Docker,如果没有安装可以参考我之前的文章进行安装 快速跳转
二、确认一下面的端口当前服务器内没有被占用,如果存在占用可以后面修改配置文件避开占用的端口
- 22122
- 23000
- 8888
确认没有问题后就可以进行部署了,这里有单台和多台的部署方式,可以按需求进行部署
单台部署
首先创建持久化目录
#先创建tracker的持久化目录
mkdir -p /data/fastdfs/tracker
#创建storage的持久化目录
mkdir -p /data/fastdfs/storage/{data,path}
拉取镜像
docker pull delron/fastdfs
拉取完成后先启动tracker
docker run -d --name tracker --network=host -v /data/fastdfs/tracker:/var/fdfs delron/fastdfs tracker
- 因为这里使用了host,所以不用做端口映射,默认端口为22122
接着启动storage
docker run -d --name storage --network=host -e TRACKER_SERVER=172.18.66.210:22122 -v /data/fastdfs/storage/data:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
- 环境变量TRACKER_SERVER为tracker的地址+端口,多台tracker情况下不要添加这个环境变量
启动成功后可以试试上传文件
#先拷贝文件到持久目录,假设我有个图片1.jpg在/opt下
cp /opt/1.jpg /data/fastdfs/storage/data
#接着进入容器
docker exec -it storage bash
#切换目录到文件所在位置
cd /var/fdfs

#通过命令上传文件
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.jpg

通过IP地址+端口以及返回的字符串,就可以访问到图片了

到这里,单台的FastDFS就部署完成了
多台部署
如果需要多台部署到情况下,tracker地址要配置成多个,首先还是先创建目录
#先创建tracker的持久化目录
mkdir -p /data/fastdfs/tracker
#创建storage的持久化目录
mkdir -p /data/fastdfs/storage/{data,path}
拉取镜像
docker pull delron/fastdfs
拉取完成后先启动tracker,多台情况下tracker都要先启动,不然后面storage无法注册
docker run -d --name tracker --network=host -v /data/fastdfs/tracker:/var/fdfs delron/fastdfs tracker
- 因为这里使用了host,所以不用做端口映射,默认端口为22122
接着启动storage
docker run -d --name storage --network=host -v /data/fastdfs/storage/data:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
- 因为有多台tracker,所以不要添加TRACKER_SERVER的环境变量,会覆盖配置文件中的地址,需要容器启动后手动配置
启动完成后进入容器配置tracker地址
#进入容器
docker exec -it storage /bin/bash
#切换目录
cd /etc/fdfs
#先修改storage(容器中没有vim)
vi storage.conf

要填写正确IP不能写127.0.0.1,修改完成后修改client.conf文件
vi client.conf

修改完成后退出容器,重启storage容器,让storage重新注册
docker restart storage
重启完成后可以进入容易查看一下
docker exec -it storage /bin/bash
使用命令查看
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
返回的信息中有2条Storage代表成功


其他storage使用同样方法启动后,多台FastDFS就部署完成了