| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> docker搭建FastDFS及遇到的问题解决 -> 正文阅读 |
|
[系统运维]docker搭建FastDFS及遇到的问题解决 |
一、FastDFS简介FastDFS 是以 C 语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载)等,特别适合以文件为载体的在线服务,如:图片网站,视频网站等。 外话:FastDFS 是阿里余庆大神做的一个个人项目,从2008年研发FastDFS开源至今,在一些互联网创业公司中备受推崇,GitHub开源地址:https://github.com/happyfish100/fastdfs 二、开始搭建FastDFS2.1 拉取镜像默认已经安装好docker并可以拉取镜像,执行以下命令拉取fastdfs镜像。
在创建容器之前我们先简单说一下 FastDFS,FastDFS 系统有三个角色:
说到这就是想告诉小伙伴,接下来我们可能创建?跟踪服务器容器、存储服务器容器、客户端容器 这三个容器… 2.2 创建容器并挂载目录2.2.1 创建挂载目录
2.2.2 构建tracker容器(跟踪服务器容器)
2.2.3 构建storage容器(存储服务器容器)
TRACKER_SERVER=192.168.33.3:22122 这里要注意改为自己宿主机的ip地址(就是你本机的IP),端口22122是默认的,不用修改! docker ps之后可以看到这两个容器已经在运行中了 2.3 测试服务两个容器创建完之后,但此时两个容器其实并没有关联起来,我们进入tracker容器,通过client.conf测试一下:
?可以看到client.conf配置文件 ? ?我这里的tracker_server=192.168.33.3,修改成自己的IP,跟上面构建storage容器时的IP保持一致。 尝试执行一下连接:
然后会得到如下内容: 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 是去连接? 2.4 修改client.conf文件通过? 先退出容器,执行:exit 执行命令:
?直接点击编译client.conf文件,或者是通过vi client.conf修改tracker_server也是可以的,直接修改成自己的宿主机IP。 ?修改后保存,然后将修改后的文件替换回去。指令命令:
?没有报错,证明修改成功。 至此,配置文件修改完了,接下来我们创建文件上传测试一下。 三、 测试FastDFS3.1 上传文件3.1.1 第一种方式,进入容器中上传文件执行命令,进入 tracker 容器中:
随便创建一个 txt 文件:
然后通过 fdfs_upload_file 命令将 niceyoo.txt 文件上传至服务器:
如果此时报了如下错误: 那么就创建一下这个路径,没有的跳过:
创建目录后重新尝试提交: ? ?直接网页访问可以看到这个证明是成功的。 ?3.1.2 第二种上传方式,在数据卷中上传我们可以利用docker的exec命令不进入容器,直接在宿主机的环境下调用容器内的命令,因为文件夹已经共享,所以我们输入的文件目录虽然是容器中的/var/fdfs/storage目录,但是实际上该上传的文件就在宿主的/var/fdfs目录中。 拉取一个文件到/var/fdfs/storage文件夹中。这里示范storage容器,两个容器都是一样的,一个存储型服务器容器和一个是跟踪型服务器容器。 ?执行命令:
?这里的/var/fdfs/1.txt? 是容器内的文件路径,为啥我们上传文件是到宿主机的/var/fdfs/storage文件夹下的,怎会出现在容器中呢?这是因为我们在创建容器的时候挂载了数据卷,所以我们在宿主机挂载的文件夹就可以操作容器内的文件夹了。 浏览器访问一下看看: ?可以看到我们在1.txt文件中写的内容,证明是成功的。这两种方式都可以上传文件,第二种比较方便。 到这里,我们整个FastDFS已经搭建完成了。 下一篇我们讲如何将FastDFS文件下载并还原为原文件的名字:FastDFS下载文件自定义命名_花开花落与云卷云舒的博客-CSDN博客 博主这里诚心推荐各种话费、流量、电费、视频会员、音乐会员优惠充值公众号,慢充可以有很大优惠哦!真实可靠博主才推荐的! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 15:21:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |