使用docker-compose部署go-fastdfs
2020-04-22 09:45
831 查看
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"], ......
参考链接
go-fastdfs使用文档
源码
go-fastdfs 分布式文件系统搭建
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 使用docker compose部署服务【转】
- 如何使用Docker、Docker-Compose和Rancher搭建部署Pipeline(四)
- 如何使用Docker、Docker-Compose和Rancher搭建部署Pipeline(二)
- CentOS 7下使用docker-compose部署Django与MySQL实战
- 如何使用Docker、Docker-Compose和Rancher搭建部署Pipeline(二)
- Redis——使用docker-compose.yml部署哨兵集群
- 如何使用Docker、Docker-Compose和Rancher搭建部署Pipeline(四)
- 使用 k8s/docker-compose 部署 zookeeper集群
- linux中使用docker-compose部署软件配置分享
- docker(docker-compose)安装部署gitlab并使用iredmail发送邮件
- 如何使用Docker部署Go Web应用程序
- 如何使用Docker、Docker-Compose和Rancher搭建部署Pipeline(四)
- Docker - 使用Swarm和compose部署服务(containers)
- .NET Core容器化之多容器应用部署-使用Docker-Compose
- 在PyCharm2017中使用Docker-Compose部署Flask+Mysql开发环境
- 使用docker-compose来部署开发环境
- 使用Docker Compose部署基于Sentinel的高可用Redis集群
- 使用docker-compose 大杀器来部署服务 上
- 学习使用Docker、Docker-Compose和Rancher搭建部署Pipeline(一)
- ASP.NET Core 3.0 : 二十八. 在Docker中的部署以及docker-compose的使用