go-fastdfs 最簡單、可靠、高效的分布式文件系統(tǒng)
install
docker go-fastdfs安裝
# search命查找鏡像
docker search go-fastdfs
# pull鏡像
docker pull go-fasdfs
運(yùn)行fastdfs
docker run -d -p 8080:8080 sjqzhang/go-fastdfs
| 參數(shù) | 詳情 |
|---|---|
| d | 后臺運(yùn)行 |
| p | 端口映射 |
修改fastdfs配置
修改容器里面的fastdfs配置有2種方法
1. 進(jìn)入容器里面修改/usr/local/go-fastdfs/data/conf/cfg.json文件
# 獲取其container_id
docker ps
# 進(jìn)入容器
docker exec -it <container_id> bash
# vi修改配置, 自帶vi
vi /usr/local/go-fastdfs/data/conf/cfg.json
如果想通過curl訪問fastdfs的話,需要在cfg.json里面你添加白名單。使用localhost或127.0.0.1是不行的
"admin_ips": ["127.0.0.1", "172.17.0.1"],
添加172.17.0.1,這是docker的默認(rèn)地址。
- 如果你的go-fastdfs不是在docker里面的話,不用添加后者也可以在本地訪問api
- 如果是在docker里面的話,需要添加172.17.0.1或本機(jī)ip
- 如果想讓外部ip可以訪問的話,添加ip到白名單。
示例
# curl http://127.0.0.1:8080/group1/stat
{
"data": [
{
"date": "20191023",
"fileCount": 1,
"totalSize": 146357
},
{
"date": "all",
"fileCount": 1,
"totalSize": 146357
}
],
"message": "",
"status": "ok"
}
這個(gè)api可以查看fastdfs的文件存儲信息。
/group1/stat的group1是分組的名稱,因?yàn)槟J(rèn)配置是分組存儲的,如果不想分組,就修改cfg.json的配置
# 不分組
"support_group_manage": false
不分組的話,api命令不需要groupx
curl http://127.0.0.1:8080/stat
修改完配置后,需要reload fastdfs
docker restart <container_id>
這里的restart只會重啟容器里面的fastdfs進(jìn)程
2. 通過api接口修改配置
api的方法修改配置不是很友善,不建議使用。因?yàn)橹恍薷膯蝹€(gè)配置項(xiàng)的話,其他的值會變空
api接口: /reload
/reload接口可以獲取cfg配置信息、修改配置、reload配置
| 參數(shù) | 詳情 |
|---|---|
| action | 執(zhí)行動作,get/set/reload |
| cfg | json格式參數(shù) |
# 查詢
curl http://127.0.0.1:8080/group1/reload?action=get
# 修改, 這條命令在命令行運(yùn)行是報(bào)錯(cuò)的,我用postman調(diào)用
curl 'http://127.0.0.1:8080/group1/reload?action=set&cfg={"idle_timeout":1}'
# 修改完配置后需要reload生效
curl http://127.0.0.1:8080/group1/reload?action=reload
更多的API: go-fastdfs Api文檔
瀏覽器輸入: http://127.0.0.1:8080, 可以打開go-fastdfs的上傳文件頁面