我选择了使用最多的星星最多的镜像 season/fastdfs
拉取镜像
docker pull season/fastdfs
创建数据卷
docker volume create tracker_data
docker volume create storage_data
docker volume create store_path
创建网络,如果之前创建过就不用再创建了
docker network create --subnet=172.19.0.0/24 net1
启动tracker
指定数据卷和网络,并且指定ip=172.19.0.200 对应net1的网络范围
docker run -it -d --name trakcer -p 22122:22122 -v tracker_data:/fastdfs/tracker/data --net=net1 --ip=172.19.0.200 season/fastdfs tracker
启动storage
这里dockerhub上的使用说明有个坑
需要将 TRACKER_SERVER**:192.168.1.2:22122 中的 冒号 改成 等于号 也就是"TRACKER_SERVER=**192.168.1.2:22122"
docker run -it -d --name storage -v storage_data:/fastdfs/storage/data -v store_path:/fastdfs/store_path --net=net1 --ip=172.19.0.201 -e TRACKER_SERVER=172.19.0.200:22122 season/fastdfs storage
检测storage是否注册进tracker
另起一个容器,用来检测tracker的情况
创建一个数据卷 conf
docker volume create conf
在数据卷conf中创建一个配置文件storage.conf
vim /var/lib/docker/volumes/conf/_data/storage.conf
输入如下内容
tracker_server=172.19.0.200:22122
启动容器然后 通过fdfs_monitor命令来查看tracker注册情况
docker run -it --name fdfs_sh -v conf:/root --net=net1 --ip=172.19.0.100 season/fastdfs sh
查看注册情况
fdfs_monitor /root/storage.conf
会有如下的输出信息
修改启动storage的命令,修改对应的ip、数据卷等参数即可