前言:
代码里面有fastdfs用来当做附件上传,但是我问了一圈没有找到有项目在用, 公司部署出去的项目什么情况也比较混乱(或者我权限不够没法查看)。
反正是公司没有fastdfs,需要搭建一套。 开搞。
fastdfs安装:
镜像下载(delron/fastdfs):
docker pull delron/fastdfs
删除历史启动的实例:
docker stop easy_fastdfs && docker rm easy_fastdfs
镜像启动(别忘更改TRACKER_SERVER):
docker run -id --name easy_fastdfs -p 22122:22122 -p 23000:23000 -p 8888:8888 -e TRACKER_SERVER=${你真是物理机器的ip}:22122 delron/fastdfs tracker
容器执行启动storage。
docker exec -itd easy_fastdfs bash /usr/bin/start1.sh storage
验证文件上传(上传hosts文件到系统)
docker exec -it easy_fastdfs /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /etc/hosts
展示group1/xxx/xxx/xxx/xxx 就是成功了。
查看fdfs的监控信息。
docker exec -it easy_fastdfs fdfs_monitor /etc/fdfs/storage.conf
展示 server_count=1 xxx group count: 1 就是成功了。
说明:
一个普普通通的容器启动项目为啥还要单独记录一下呢?
-
记录一下应该下载哪个容器的镜像, 前前后后下载了10+镜像,都说能用,但是真的本地跑起来就报错。
-
delron/fastdfs 里面默认只能启动一个服务。启动tracker或者启动storage。 但是当使用两个容器分别启动的时候,我用的windows的docker(--network=host 不生效), 内部的tcp通信异常。需要创建network才能使用。所以我想要一个简单的能同时启动tracker/storage 让我的应用程序能进行测试的服务。
-
顺便吐槽一下, fastdfs真的不如minio好用,但是minio要开始商业化了。