1、环境
- 操作系统:Centos 7
- docker版本:19.03.7
- docker-compose版本:1.24.0
2、拉取官方镜像
# go-fastdfs
$ docker pull sjqzhang/go-fastdfs
3、docker-compose.yml 配置文件
version: "3.7"
services:
fastdfs:
image: sjqzhang/go-fastdfs:latest
container_name: fastdfs
privileged: true
restart: always
ports:
- "8080:8080"
environment:
GO_FASTDFS_DIR: /usr/local/go-fastdfs/data
volumes:
- "fastdfs_data:/usr/local/go-fastdfs/data"
networks:
- backend
volumes:
fastdfs_data:
networks:
backend:
ipam:
config:
- subnet: 192.168.10.0/24
说明:
1、挂卷一开始是按照go-fastdfs使用文档中docker的启动方式,挂载到/data目录下,GO_FASTDFS_DIR环境变量也设置为/data,但是这样挂载,发现每次重启服务,都会新创建一个匿名卷,百思不得其解。后来看到源码中的Dockerfile,发现go-fastdfs镜像的挂载点是:/usr/local/go-fastdfs/data,于是更改挂卷到 /usr/local/go-fastdfs/data 目录下,重复创建匿名卷的问题解决。
2、go-fastdfs使用文档提到,认证会用到peer IP,所以最好用–network=host 不支持nat,bridge模式。本文目前没用到认证功能,用bridge模式,一切正常,而且官方的docker compose文件中,用的也是bridge的模式。
4、后台运行go-fastdfs服务
$ docker-compose up -d
5、浏览器上传下载测试
5.1 上传

5.2 上传成功返回的内容
5.3 下载
根据返回结果中的url即可下载对应文件
http://192.168.3.233:8080/group1/default/20200415/00/18/0/go-fastdfs_test.txt
6、安装go-fastdfs-web管理平台
go-fastdfs自带的web管理平台比较简陋,官方也推荐了一个功能更强大,页面更美观的管理平台 go-fastdfs-web,本文使用带jre环境的windows版本,下载解压压缩包后,直接运行start.bat,然后用浏览器打开 http://localhost:8088 进行安装即可。

注意:安装go-fastdfs-web之前,需要先把go-fastdfs-web所在主机的ip添加到go-fastdfs配置文件cfg.json的管理ip白名单列表中:
# 查看 docker volume
$ docker volume ls
DRIVER VOLUME NAME
local datastore_fastdfs_data
# 查看 datastore_fastdfs_data 卷的挂载点
$ docker inspect datastore_fastdfs_data | grep Mountpoint
"Mountpoint": "/var/lib/docker/volumes/datastore_fastdfs_data/_data",
# 编辑 cfg.json 配置文件
sudo vim /var/lib/docker/volumes/datastore_fastdfs_data/_data/conf/cfg.json
......
"管理ip列表": "用于管理集的ip白名单,",
"admin_ips": ["127.0.0.1", "192.168.3.232"],
......

Docker-compose快速部署Go-FastDFS及Web管理平台
本文介绍了如何在Centos 7环境下,使用docker-compose部署Go-FastDFS,详细阐述了配置文件设置、后台运行服务以及进行上传下载测试的过程。同时,还提及了安装go-fastdfs-web管理平台的步骤,并提醒在安装前需将管理平台主机IP加入FastDFS的管理IP白名单。
3947

被折叠的 条评论
为什么被折叠?



