百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

我用Docker安装FastDFS,再也不用头疼那些错误提示了

wptr33 2025-09-01 15:56 10 浏览

在这里插入图片描述

FastDFS的安装我们还是通过Docker来安装实现吧,直接在Linux上还装还是比较繁琐的,但就学习而言Docker安装还是非常高效的。Docker环境请自行安装哦,不清楚的可以看看我的Docker专题的内容。
https://blog.csdn.net/qq_38526573/category_9619681.html

1.拉取镜像文件

首先我们可以通过 docker search fastdfs 来查询下有哪些镜像文件。

image.png

我们看到搜索到的镜像还是蛮多的,这里我们使用 delron/fastdfs 你也可以尝试使用其他的镜像来安装,你也可以制作自己的镜像来给别人使用哦,只是不同的镜像在使用的时候配置会有一些不一样,有些镜像没有提供Nginx的相关配置,使用的时候会繁琐一点。接下来通过 docker pull delron/fastdfs命令把镜像拉取下来。

image.png

2.构建Tracker服务

首先我们需要通过Docker命令来创建Tracker服务。命令为

1docker run -d --name tracker --network=host -v /mydata/fastdfs/tracker:/var/fdfs delron/fastdfs tracker

tracker服务默认的端口为22122,-v 实现了容器和本地目录的挂载操作。

image.png

3.构建Storage服务

接下来创建Storage服务,具体的执行命令如下

1docker run -d --name storage --network=host  -e TRACKER_SERVER=192.168.56.100:22122 -v /mydata/fastdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage

在执行上面命令的时候要注意对应的修改下,其中TRACKER_SERVER中的ip要修改为你的Tracker服务所在的服务IP地址。

image.png

默认情况下在Storage服务中是帮我们安装了Nginx服务的,相关的端口为

服务

默认端口

tracker

22122

storage

23000

Nginx

8888

当然如果你发现这些相关的端口被占用了,或者想要对应的修改端口信息也可以的。要修改你可以先进入容器中查看下相关的配置文件信息。

image.png

然后查看storage.conf文件

image.png

这个是storage监听的Nginx的端口8888,如果要修改那么我们还需要修改Nginx中的服务配置,这块的配置在 /usr/local/nginx/conf目录下

image.png

查看下文件

image.png

所以要修改端口号的话,这两个位置都得修改了。当然本文我们就使用默认的端口号来使用了。

4.测试图片上传

好了,安装我们已经完成了,那么到底是否可以使用呢?我们来测试下。首先在虚拟机的/mydata/fastdfs/storage下保存一张图片。

image.png

然后我们再进入到storage容器中。并且进入到 /var/fdfs目录下,可以看到我们挂载的文件了

image.png

然后执行如下命令即可完成图片的上传操作

1/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.jpg

image.png

通过上面的提示我们看到文件上传成功了,而且返回了文件在storage中存储的信息。这时我们就可以通过这个信息来拼接访问的地址在浏览器中访问了:
http://192.168.56.100:8888/group1/M00/00/00/wKg4ZGHcKLSAXibaAAezMuUrlS8235.jpg




好了到这儿FastDFS的服务安装成功了。

相关推荐

如何在Linux系统中安装Docker?_如何在Linux系统中安装软件

在这篇博客中,我将引导您通过简单的步骤完成安装Docker的过程,安装docker只是小菜一碟,你只需要运行几条命令就大功告成了!...

我用Docker安装FastDFS,再也不用头疼那些错误提示了

在这里插入图片描述FastDFS的安装我们还是通过Docker来安装实现吧,直接在Linux上还装还是比较繁琐的,但就学习而言Docker安装还是非常高效的。Docker环境请自行安装哦,不清楚的...

01背包问题的js解决方式_背包算法java

如果你有兴趣看这个相信你已经对背包问题有所了解,所以关于背包问题的描述,我就不写了。...

净现值函数_净现值函数名词解释

此页面特定于Office2010的VisualBasicforApplications(VBA)语言参考。返回一个Double,指定基于一系列定期现金流(付款和收款)和贴现率的投资的...

Excel 数据分组双利器:GROUPBY 与 FREQUENCY 函数详解

这是一篇关于Excel中GROUPBY和FREQUENCY函数的详细教学教程。这两个函数都用于数据分组统计,但它们的应用场景、功能和用法有显著不同。第一部分:强大的新函数——GROUP...

熬夜7天,我总结了JavaScript与ES的25个知识点

前言说起JavaScript,大家都知道是一门脚本语言。那么ES是什么鬼呢?ES全称ECMAScript,是JavaScript语言的国际标准。最近,我总结了25条JavaScript的基础特性相关...

傻傻分不清楚的点积与矩阵乘法 Part3

作者:MinkyungKang...

Python中的数据导入与查询_python如何导入数据文件

适用场景...

10个JavaScript一行代码,解决90%的开发难题

在JavaScript开发过程中,我们经常会遇到一些看似复杂但实际上可以通过简洁的代码解决的问题。下面分享10个JavaScript一行代码技巧,解决日常开发中的常见难题。...

提高 PHP 代码质量的 36 计_php代码调试心得

1.不要使用相对路径常常会看到:require_once('../../lib/some_class.php');该方法有很多缺点:...

PHP替换字符串关键词长词优先函数

如何实现phpstr_replace替换关键词,如何控制长词优先,也不难,我就写了个这样的函数。functionmyreplace($string,$replaces){...

PHP 中数组是如何灵活支持多数据类型的?

hello,大家好,我是张张,「架构精进之路」公号作者。...

3分钟短文 | PHP判断null,别再 == 了,你真控制不住

引言PHP程序中很多地方会用到判断是否为空,比如字符串为空,数组为空,对象为空,或者其他数据类型为默认空值。今天我们说一下判断null的两种方法的区别。一般可以使用is_null函数,判断变...

C#基础:ref 参数_c# ref和out参数的区别

例在下面,我们定义了ref方法的语法。ref方法具有retrun类型,例如int、float或string,以及一个methodName,它可以是方法的任何合适名称,我们定义了参数...

「C#.NET 拾遗补漏」05:操作符的几个骚操作

阅读本文大概需要1分钟。大家好,这是极客精神【C#.NET拾遗补漏】专辑的第5篇文章,今天要讲的内容是操作符。操作符的英文是Operator,在数值计算中习惯性的被叫作运算符,所以在中文的...