使用docker-compose部署go-fastdfs

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

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 分布式文件系统搭建

您可能感兴趣的与本文相关的镜像

Linly-Talker

Linly-Talker

AI应用

Linly-Talker是一款创新的数字人对话系统,它融合了最新的人工智能技术,包括大型语言模型(LLM)、自动语音识别(ASR)、文本到语音转换(TTS)和语音克隆技术

### 使用 Docker Compose 部署 FastDFS #### 准备工作 操作系统选用 Centos 7,Docker 版本为 19.03.7,而 Docker Compose 的版本则应为 1.24.0。确保这些工具已经安装并可以正常使用。 #### 获取镜像 通过执行以下命令来获取 `sjqzhang/go-fastdfs` 官方镜像: ```bash $ docker pull sjqzhang/go-fastdfs ``` 此操作将会下载最新的 Go-FastDFS 镜像至本地环境中[^1]。 #### 编写 docker-compose.yml 文件 创建名为 `docker-compose.yml` 的配置文件,在其中定义 FastDFS 服务的相关参数。具体设置如下所示: ```yaml version: '3.7' services: fastdfs: image: sjqzhang/go-fastdfs:latest container_name: fastdfs privileged: true restart: always ports: - "8080:8080" - "23000:23000" # Tracker Server Port - "22122:22122" # Storage Server Port - "8888:8888" # Nginx HTTP Port (如果适用) environment: GO_FASTDFS_DIR: /usr/local/go-fastdfs/data volumes: - fastdfs_data:/usr/local/go-fastdfs/data networks: - backend networks: backend: ipam: config: - subnet: 192.168.10.0/24 volumes: fastdfs_data: ``` 上述配置指定了 FastDFS 服务使用的端口号、挂载的数据卷以及网络配置等重要选项[^4]。 #### 启动服务 完成以上准备工作之后,进入放置有 `docker-compose.yml` 文件所在的目录,并运行下面这条命令以启动 FastDFS 服务: ```bash $ docker-compose up -d ``` 这一步骤将以守护进程模式启动所有由 `docker-compose.yml` 描述的服务实例[^2]。 #### 测试上传功能 为了验证部署是否成功,可以通过向 FastDFS 中上传一个小文件来进行简单测试。首先需要进入到正在运行中的 storage 容器内部: ```bash $ docker exec -it fastdfs bash ``` 接着切换到 `/var/fdfs` 路径下,并尝试上传一张图片(假设命名为 `test.jpg`),以此检验整个流程能否正常运作: ```bash # 切换路径 cd /var/fdfs/ # 执行上传命令 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.jpg ``` 假如一切顺利的话,则会在终端中看到类似于 `group1/M00/00/00/rBEAAl8aYsuABe4wAAhfG6Hv0Jw357.jpg` 的返回值;此时可通过浏览器访问对应的 URL 地址查看刚刚上传成功的图像资源[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值