广告
返回顶部
首页 > 资讯 > 精选 >如何在Docker中搭建FastDFS文件系统
  • 106
分享到

如何在Docker中搭建FastDFS文件系统

2023-06-15 01:06:47 106人浏览 安东尼
摘要

如何在Docker中搭建FastDFS文件系统?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。关于FastDFSFastDFS 是以 C 语言开发的一项开源轻量级

如何在Docker中搭建FastDFS文件系统?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

关于FastDFS

FastDFS 是以 C 语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载)等,特别适合以文件为载体的在线服务,如:图片网站,视频网站等。

1、搜索镜像

执行命令:

docker search fastdfs

然后界面会搜出一大堆镜像,选哪个呢?

如何在Docker中搭建FastDFS文件系统

老规矩,我们选择start数最多的准没错,什么?start数不放心,怕被挂马?ok,我们再去镜像仓库看一下:

如何在Docker中搭建FastDFS文件系统

补充: 其实看这些镜像的描述也能看出一些区别来的,比如 ygqygq2/fastdfs-Nginx,该镜像是整合了 Nginx 的 fastdfs,那么新的问题来了,为什么要整合 Nginx?因为对于 fastdfs 来说,安装后只能在本机访问… 我上传文件肯定是为了能够访问的呀,所以为了提供 WEB 访问,那么就需要集成 Nginx 了,但是比如就是想自己单独搞 Nginx… 那么肯定就不会选了嘛,season/fastdfs 镜像相对纯净些,本文就是基于 season/fastdfs 镜像的,后面也附带配置 Nginx…

2、安装镜像

执行命令:

docker pull season/fastdfs:1.2

之所以选择 1.2 版本,防止再次更新后本文不适合 latest 版本,执行截图如下:

如何在Docker中搭建FastDFS文件系统3、

创建容器并挂载目录

在创建容器之前我们先简单说一下 FastDFS,FastDFS 系统有三个角色:

  • 跟踪服务器(Tracker Server):跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的 storage server和 group,每个 storage 在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。

  • 存储服务器(Storage Server):存储服务器,主要提供容量和备份服务;以 group 为单位,每个 group 内可以有多台 storage server,数据互为备份。

  • 客户端(Client):上传下载数据的服务器,也就是我们自己的项目所部署在的服务器。

说到这就是想告诉小伙伴,接下来我们可能创建 跟踪服务器容器、存储服务器容器、客户端容器 这三个容器…

3.1、创建出所需要的目录

我们先把需要的一些目录创建出来(数据目录、数据存储目录等),执行命令:

mkdir -p /usr/local/server/fastdfs/tracker/datamkdir -p /usr/local/server/fastdfs/storage/datamkdir -p /usr/local/server/fastdfs/storage/path

3.2、创建tracker容器(跟踪服务器容器)

执行命令:

docker run -id --name tracker \-p 22122:22122 \--restart=always --net host \-v /usr/local/server/fastdfs/tracker/data:/fastdfs/tracker/data \season/fastdfs:1.2 tracker

再唠叨一下上方命令:

  • -d:让容器在后台运行

  • -p:指定容器内部使用的网络端口映射到我们使用的主机上

  • --name:指定容器创建的名称

  • -v:容器跟宿主机之间的挂载目录

3.3、创建storage容器(存储服务器容器)

执行命令(非最终执行命令,请修改为自己的ip地址):

docker run -id --name storage \--restart=always --net host \-v /usr/local/server/fastdfs/data/storage:/fastdfs/store_path \-e TRACKER_SERVER="10.211.55.4:22122" \season/fastdfs:1.2 storage

3.4、client测试

两个容器创建完之后,但此时两个容器其实并没有关联起来,我们进入tracker容器,通过client.conf测试一下:

docker exec -it tracker bashcd /etc/fdfs/lscat client.conf

输出的 client.conf 都是默认配置,我们可以找到其中的 track_server 地址:

如何在Docker中搭建FastDFS文件系统

尝试执行一下连接:

fdfs_monitor client.conf

然后会得到如下内容:

ERROR - file: ../common/connection_pool.c, line: 84, connect to 192.168.209.121:22122 fail, errno: 110, error info: Connection timed out

也就是在没有修改client配置之前,默认 tracker 是去连接 192.168.209.121 地址的,那么接下来就是需要去配置client配置文件了。

如何在Docker中搭建FastDFS文件系统

3.4、修改client.conf配置文件

通过 docker exec -it tracker bash 进入 tracker 容器后不能使用 vi vim 命令,所以干脆将 client.conf 配置文件复制出来,在宿主机修改完再粘贴回去。

执行命令:

docker cp trakcer:/etc/fdfs/client.conf /usr/local/server/fastdfs/

我们通过 docker 指令将配置文件复制到 /usr/local/server/fastdfs/ 目录。

如何在Docker中搭建FastDFS文件系统

我们编辑这个文件,修改 tracker_url 地址(vi client.conf):

如何在Docker中搭建FastDFS文件系统

修改后保存,然后将修改后的文件替换回去。指令命令:

docker cp /usr/local/server/fastdfs/client.conf tracker:/etc/fdfs

至此,配置文件修改完了,接下来我们创建文件上传测试一下。

4、文件上传测试

执行命令,进入 tracker 容器中:

docker exec -it tracker bash

随便创建一个 txt 文件:

echo "niceyoo" > niceyoo.txt

然后通过 fdfs_upload_file 命令将 niceyoo.txt 文件上传至服务器:

fdfs_upload_file /etc/fdfs/client.conf niceyoo.txt

如果此时报了如下错误:

如何在Docker中搭建FastDFS文件系统

那么就创建一下这个路径,没有的跳过:

mkdir -p /home/yuqing/fastdfs

创建目录后重新尝试提交:

如何在Docker中搭建FastDFS文件系统

我们复制出这个文件名来:group1/M00/00/00/CtM3BF84iz2AWE_JAAAACBfWGpM793.txt,这个名称后面有用,将用作后面配置nginx时配置访问文件路径。

因为我们之前挂载了宿主机的目录,我们去 cd /usr/local/server/fastdfs 看一下:

cd /usr/local/server/fastdfs/data/storage/datals

输出内容如下:

如何在Docker中搭建FastDFS文件系统

5、配置Nginx

前面的补充已经提到了,默认上传的文件是只能在本机访问的,当然这样肯定是不行的,所以我们需要配置一下Nginx 来帮我们实现 Web 访问的效果。

创建nginx目录:

mkdir -p /usr/local/server/fastdfs/nginx/

将storage容器中的nginx配置文件复制出来:

docker cp storage:/etc/nginx/conf/nginx.conf /usr/local/server/fastdfs/nginx/

修改nginx中的配置:

vi /usr/local/server/fastdfs/nginx/nginx.conf

找到local节点,修改为:

 location / {    root /fastdfs/store_path/data;    ngx_fastdfs_module; }

相关截图如下:

如何在Docker中搭建FastDFS文件系统

接下来就是创建nginx容器,并指向刚刚的配置文件了。

没有安装过nginx的小伙伴同样可以执行如下指令,默认会帮你拉取镜像然后安装的。

注意:请修改ip地址后再执行

docker run -id --name fastdfs_nginx \--restart=always \-v /usr/local/server/fastdfs/data/storage:/fastdfs/store_path \-v /usr/local/server/fastdfs/nginx/nginx.conf:/etc/nginx/conf/nginx.conf \-p 8888:80 \-e TRACKER_SERVER=10.211.55.4:22122 \season/fastdfs:1.2 nginx

至此,我们查看一下目前创建以及启动的容器:

如何在Docker中搭建FastDFS文件系统

我们测试一下之前上传的文件 group1/M00/00/00/CtM3BF84iz2AWE_JAAAACBfWGpM793.txt,执行如下命令:

curl -i Http://127.0.0.1:8888/group1/M00/00/00/CtM3BF84iz2AWE_JAAAACBfWGpM793.txt

执行结果:

如何在Docker中搭建FastDFS文件系统

至此,整个过程就搭建成功了,我们通过浏览器访问一下:

如何在Docker中搭建FastDFS文件系统

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: 如何在Docker中搭建FastDFS文件系统

本文链接: https://www.lsjlt.com/news/276371.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何在Docker中搭建FastDFS文件系统
    如何在Docker中搭建FastDFS文件系统?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。关于FastDFSFastDFS 是以 C 语言开发的一项开源轻量级...
    99+
    2023-06-15
  • Docker中搭建FastDFS文件系统(多图教程)
    目录关于FastDFS1、搜索镜像2、安装镜像3.1、创建出所需要的目录3.2、创建tracker容器(跟踪服务器容器)3.3、创建storage容器(存储服务器容器)3.4、cli...
    99+
    2022-11-12
  • 如何使用 docker compose 搭建 fastDFS文件服务器
    上篇文章给大家介绍了使用docker compose安装FastDfs文件服务器的实例详解 今天给大家介绍如何使用 docker compose 搭建 fastDFS文件服务器,内容...
    99+
    2022-11-12
  • 怎么在Docker中搭建ELK 日志系统
    怎么在Docker中搭建ELK 日志系统?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。ELK介绍:ELK是三个开源软件的缩写,分别为:Elasticsearch...
    99+
    2023-06-15
  • 如何使用Docker搭建ELK日志系统
    本篇内容主要讲解“如何使用Docker搭建ELK日志系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Docker搭建ELK日志系统”吧!以下安装都是以...
    99+
    2022-10-19
  • 如何在docker中搭建swoole环境
    本篇内容介绍了“如何在docker中搭建swoole环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、搭建swoole环境拉取镜像doc...
    99+
    2023-07-02
  • Apache和Python:如何搭建分布式文件系统?
    随着数据量的不断增加,传统的单机文件系统已经无法满足我们的需求。为了解决这个问题,分布式文件系统应运而生。分布式文件系统通过将数据存储在多个节点上,并允许多个用户同时访问这些数据,实现了高可用性和可伸缩性。在本文中,我们将介绍如何使用Ap...
    99+
    2023-07-31
    apache 文件 分布式
  • 在window系统中如何搭建maven环境
    今天就跟大家聊聊有关在window系统中如何搭建maven环境,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体内容如下下载maven:进入官网下载:http://maven.apa...
    99+
    2023-05-31
    window maven mave
  • Linux下如何搭建邮件系统
    这篇文章主要介绍了Linux下如何搭建邮件系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。邮件服务器是一种用来负责电子邮件收发管理的设备。它比网络上的免费邮箱更安全和高效。...
    99+
    2023-06-28
  • 如何在Linux系统上搭建GitLab
    GitLab是一个基于Git版本控制系统的Web应用程序,旨在管理代码库、代码审核、发布与协作等,是一个非常适合团队协作的开源项目管理平台。本文将介绍如何在Linux系统上搭建GitLab,以及如何进行中文化,并使用邮件通知的功能。环境准备...
    99+
    2023-10-22
  • Java+Springboot搭建一个在线网盘文件分享系统
    目录前言效果图主要代码管理员控制器:文件仓库控制器:登录控制器:FTP工具类: 前言 springboot+freemark+jpa+MySQL实现的在线网盘文件分享系统,其功能跟百...
    99+
    2022-11-12
  • Java+Springboot怎么搭建在线网盘文件分享系统
    这篇文章主要介绍“Java+Springboot怎么搭建在线网盘文件分享系统”,在日常操作中,相信很多人在Java+Springboot怎么搭建在线网盘文件分享系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-21
  • 如何解析MyBatis信用盘系统搭建配置文件
    如何解析MyBatis信用盘系统搭建配置文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。<xml version="1.0" enc...
    99+
    2023-06-04
  • 如何在Linux系统上搭建网站
    如何在Linux系统上搭建网站,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.在Linux系统上配置网站环境运行 wget -c http://soft.vpser.net/...
    99+
    2023-06-28
  • 阿里云服务器如何搭建php8.0环境文件系统
    阿里云服务器搭建php8.0环境文件系统需要以下步骤: 安装阿里云控制台(Apache Central):阿里云控制台通常可以通过在 Windows系统上安装 Apache Central 来完成。在控制台中打开 Apache Cent...
    99+
    2023-10-26
    阿里 文件系统 环境
  • 如何在CentOS 6.5系统中搭建Git服务器
    Git是一个开源的分布式版本控制系统,被广泛应用于各种软件开发项目中。在CentOS 6.5系统中搭建Git服务器能让团队更好地协作开发。下面我将详细介绍如何在CentOS 6.5系统中搭建Git服务器。步骤一:安装Git在CentOS 6...
    99+
    2023-10-22
  • 如何在 Linux 系统上搭建 Laravel 接口?
    当今,Laravel 是一个广泛使用的 PHP 框架,它被广泛应用于开发 Web 应用程序和 API。在本篇文章中,我们将介绍如何在 Linux 系统上搭建 Laravel 接口,并提供一些基本的演示代码。 首先,我们需要在 Linux 系...
    99+
    2023-08-17
    laravel linux 接口
  • 如何在CentOS系统搭建NFS服务器
    本篇内容主要讲解“如何在CentOS系统搭建NFS服务器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在CentOS系统搭建NFS服务器”吧!NFS服务器,Network File Syst...
    99+
    2023-06-05
  • 如何在Linux操作系统下创建锁文件
    这篇文章主要介绍“如何在Linux操作系统下创建锁文件”,在日常操作中,相信很多人在如何在Linux操作系统下创建锁文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在Linux操作系统下创建锁文件”的疑...
    99+
    2023-06-17
  • 如何在linux系统中搭建mysql主从服务器?
    实现目标现在需要搭建两台MySQL服务器(一主一从),一台作为主服务器,一台作为从服务器,主服务器进行写操作,从服务器进行读操作。工作流程主服务器:开启二进制日志配置唯一的server-id获得master...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作