fastdfs离线安装
一、安装步骤
1、找一台可以联网的电脑本地拉取fastdfs镜像
docker pull season/fastdfs
2、将本地镜像打成tar包
docker save season/fastdfs >D:/dockerFastDFS/fastdfs.tar
3、将本地tar包上传至服务器指定文件夹
scp fastdfs.tar sysadm@192.168.1.1:/opt/tools/fastdfs
4、将fastdfs.tar包解压成镜像
docker load -i fastdfs.tar
6、运行tracker
docker run -ti -d --name tracker --restart=always -v /data/fastdfs/tracker/tracker_data:/fastdfs/tracker/data -p 22122:22122 season/fastdfs tracker
7、使用docker镜像构建storage容器
-e的作用是指定容器内的环境变量。dockerfile中使用ENV指令指定环境变量
docker run -tid --name storage --restart=always -v /data/fastdfs/storage/storage_data:/fastdfs/storage/data -v /data/fastdfs/storage/store_path:/fastdfs/store_path -p 23000:23000 -e TRACKER_SERVER:192.168.1.1:22122 -e GROUP_NAME=group1 season/fastdfs storage
8、 进入storage容器,到storage的配置文件中配置http访问的端口,配置文件在fdfs_conf目录下的storage.conf
进入storage容器查看ip
#进入容器
docker exec -it storage bash
#进入目录
cd /fdfs_conf/
#查看文件
more storage.conf
9、将storage.conf 复制到宿主机并进行修改track_server参数,修改为本机ip,修改后copy到storage并重启storage服务
[root@OS2-3 sysadm]# docker cp storage:/fdfs_conf/storage.conf ~/
[root@OS2-3 sysadm]# cd ~/
[root@OS2-3 ~]# vim storage.conf
# tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
tracker_server=192.168.1.1:22122
[root@OS2-3 ~]# docker cp ~/storage.conf storage:/fdfs_conf/
[root@OS2-3 ~]# docker stop storage
storage
[root@OS2-3 ~]# docker start storage
storage
9、查看storage是否注册成功 主要看 Storage 1:
[root@OS2-3 ~]# docker exec -it storage bash
root@4cc2d84f6884:/# cd fdfs_conf/
root@4cc2d84f6884:/fdfs_conf# fdfs_monitor storage.conf
[2022-09-02 06:19:52] DEBUG - base_path=/fastdfs/storage, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0
server_count=1, server_index=0
tracker server is 10.30.205.19:22122
group count: 1
Group 1:
group name = group1
disk total space = 30701 MB
disk free space = 25759 MB
trunk free space = 0 MB
storage server count = 1
active server count = 1
storage server port = 23000
storage HTTP port = 8888
store path count = 1
subdir count per path = 256
current write server index = 0
current trunk file id = 0
Storage 1:
id = 172.17.0.1
ip_addr = 172.17.0.1 ACTIVE
http domain =
version = 4.08
join time = 2022-09-02 06:18:40
up time = 2022-09-02 06:18:40
total storage = 30701 MB
free storage = 25759 MB
upload priority = 10
....
root@4cc2d84f6884:/fdfs_conf#
二、客户端测试
2.1 使用root账户启动docker客户端
docker run -tid --name fdfs_sh -p 13000:13000 season/fastdfs sh
#将tracker配置信息同步到客户端容器
[root@OS2-3 sysadm]# docker cp ~/storage.conf fdfs_sh:/fdfs_conf/
#进入客户端容器
[root@OS2-3 sysadm]# docker exec -it fdfs_sh bash
#编写测试文件
root@46bc3a7ea8b0:/# echo hello>b.txt
root@46bc3a7ea8b0:/# cd fdfs_conf/
#上传文件并退出
root@46bc3a7ea8b0:/fdfs_conf# fdfs_upload_file storage.conf /b.txt
group1/M00/00/00/rBEAA2MRocmAOM3-AAAABncc3SA721.txt
root@46bc3a7ea8b0:/fdfs_conf# exit
exit
[root@OS2-3 00]# cd /data/fastdfs/storage/store_path/data/00/00
[root@OS2-3 00]# ll
总用量 4
-rw-r--r-- 1 root root 6 9月 2 14:25 rBEAA2MRocmAOM3-AAAABncc3SA721.txt
[root@OS2-3 00]# cat rBEAA2MRocmAOM3-AAAABncc3SA721.txt
hello
测试完毕