docker搭建fastdfs环境

2023-05-16

    fastdfs是一个开源的分布式文件系统,在实际使用中,通过源码编译安装过程非常复杂,但是通过docker快速构建却非常容易。下面介绍通过docker安装fastdfs的方法。

    docker镜像的选择也挺重要的,我最开始选择season/fastdfs,发现有些麻烦,有的版本好像带nginx比如1.2,有的版本又不带nginx比如latest。我使用season/fastdfs镜像安装没有成功过,但是使用delron/fastdfs镜像就成功了,而且只需要启动两个容器,一个tracker,一个storage即可。storage容器中自带了nginx,不需要额外启动一个nginx容器。

    先通过docker pull delron/fastdfs拉取最新的镜像。

    分别启动tracker容器和storage容器。

[root@server ~]# docker run -d --name tracker -p 22122:22122 delron/fastdfs tracker
418de7394acd11a4b92b014501e9f7aaa240099249b95ea6aa49cd6bd31da18e
[root@server ~]# docker run -d --name storage -p 8888:8888 -p 23000:23000 -e TRACKER_SERVER=192.168.197.128:22122 delron/fastdfs storage
ac5ea9a959e2fbcdba433d8711e36df95f23761ff5cdcba6c5d3dea954550e90
[root@server ~]# docker ps
CONTAINER ID   IMAGE            COMMAND                  CREATED         STATUS         PORTS                                                                                                           NAMES
ac5ea9a959e2   delron/fastdfs   "/usr/bin/start1.sh …"   5 seconds ago   Up 4 seconds   8080/tcp, 0.0.0.0:8888->8888/tcp, :::8888->8888/tcp, 22122/tcp, 0.0.0.0:23000->23000/tcp, :::23000->23000/tcp   storage
418de7394acd   delron/fastdfs   "/usr/bin/start1.sh …"   8 minutes ago   Up 8 minutes   8080/tcp, 8888/tcp, 23000/tcp, 0.0.0.0:22122->22122/tcp, :::22122->22122/tcp                                    tracker
[root@server ~]# 

    启动tracker容器的时候,暴露22122端口给宿主机,启动storage容器的时候暴露8888,23000端口给宿主机。

    这两个容器的启动,跟我们平时启动别的容器不一样的是,在指定虚拟机镜像之后,增加了一个命令tracker和storage,这两个不同的命令会针对同样的镜像,启动不同的服务。

    上传一张图片到storage容器中:

docker cp vmware-0.png storage:/

    进入容器测试:

    检查/etc/fdfs/client.conf配置

    

    这里的tracker_server=192.168.197.128:22122配置,直接根据我们在创建storage容器的时候指定的环境变量TRACKER_SERVER自动配置了,而使用season/fastdfs镜像这里就不行,需要手动修改配置。这一点很坑。

    上传我们之前复制到容器中的图片vmware-0.png 

    上传正常,返回图片路径:group1/M00/00/00/rBEAA2Kf_quAOgQdAAAYdM_Mb3k255.png

    我们在浏览器中通过:http://192.168.197.128:8888/group1/M00/00/00/rBEAA2Kf_quAOgQdAAAYdM_Mb3k255.png 访问,效果如下:

    8888端口我们之前在启动虚拟机的时候暴露给了宿主机,这个8888端口是nginx在监听,我们可以看配置文件/usr/local/nginx/conf/nginx.conf:

    通过delron/fastdfs镜像,整体操作下来,最多需要三个命令:

  •    docker pull delron/fastdfs
  •    docker run -d --name tracker -p 22122:22122 delron/fastdfs tracker
  •    docker run -d --name storage -p 23000:23000 -p 8888:8888 -e TRACKER_SERVER=192.168.197.128:22122 delron/fastdfs storage 

    无需更改任何配置,启动即成功。 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker搭建fastdfs环境 的相关文章

随机推荐

  • 谐振电路应用之LED交替闪烁

    谐振电路主要利用三极管特性 xff0c 让电路持续交替出现高低电平的现象 xff0c 根据这个特点 xff0c 可以制作LED交替闪烁的效果 谐振电路图如下所示 xff1a 根据这个图 xff0c 可以很方便的利用三极管 xff0c 电阻
  • Python基础-TypeError:takes 2 positional arguments but 3 were given

    Error xff1a 今天写一段简单类定义python代码所遇到报错问题 xff1a TypeError drive takes 2 positional arguments but 3 were given 代码如下 class Car
  • node使用netcat依赖库做socket编程

    node编程里面 xff0c 默认有一个net库可以做socket编程 xff0c 这里要说的是netcat这个库 xff0c 思路都是一样的 xff0c 甚至代码逻辑都很像 netcat可以支持tcp udp xff0c 同时很方便的构造
  • 荔枝派nano初体验-windows写入镜像到TF卡启动

    荔枝派nano是一个很小的系统 xff0c 搭载全志F1C100S芯片 xff0c 具有ddr内存 xff0c 支持tf flash启动 本人在了解荔枝派的特点之后 xff0c 在淘宝上找到了一个57块钱的荔枝派nano xff0c 一般价
  • linux下socket编程中setsockopt的作用

    如题所示 xff0c 在linux进行socket编程的时候 xff0c 一般而言 xff0c socket bind listen三步曲之后 xff0c 就开始接收客户端请求 xff0c 然后实现收发数据 如下所示的代码 xff0c 是没
  • 悲观锁与乐观锁以及如何用java语言和mysql实现

    悲观锁 xff0c 乐观锁跟字面意思一样 xff0c 悲观锁认为在多线程场景下 xff0c 不一定能够获取资源 xff0c 所以要先获取锁 xff0c 再做相关业务 xff0c 保证不会发生冲突 乐观锁认为多线程场景下 xff0c 不会发生
  • opencv结合微信二维码识别功能实现图片二维码识别

    opencv本身有二维码识别功能 xff0c 但是识别效果不是很好 xff0c 它对二维码图片要求较高 xff0c 虽然可以有图片处理 xff0c 甚至抠出二维码区域 xff0c 但是整体识别与微信二维码识别功能还是有差距的 微信二维码识别
  • opencv for java给图片添加水印中文问题

    opencv提供的给图片添加文字的方法Imgproc putText 可以给图片添加文字 xff0c 最后类似一个添加水印的效果 xff0c 但是这个方法对中文支持不好 xff0c 在没有字体支持的情况下 xff0c 默认中文显示 如下图所
  • springboot文件上传大小限制设置

    一般的web系统基本都会有文件上传功能 xff0c 文件上传必然涉及到一个问题 xff0c 就是文件大小 xff0c 太大的文件不仅传输速度慢 xff0c 而且对服务器压力巨大 xff0c 后期的下载和保存都是一种考验 所以有了文件大小限制
  • springboot打包后资源文件读取问题

    springboot项目打包之后 xff0c 将所有依赖都打入jar包 xff0c 同时也将系统中要使用的一些资源文件也会打进来 xff0c 之后运行这个jar包 xff0c 里面包含的资源文件不能再像文件系统那样直接在classpath下
  • navicat导入外部数据到mysql中文乱码以及日期格式问题

    最近在使用navicat导入外部数据到mysql中总结了以下几个问题 xff1a 1 中文乱码 xff0c 这个是因为数据在csv或者excel中格式是ANSI 格式 比如csv的数据内容如下 xff1a 在导入向导这里就乱码了 xff1a
  • opencv for java实现人脸检测

    opencv是一个很优秀的图像处理框架 xff0c 可以通过源码编译 xff0c 让他支持java开发 xff0c 这里如果在windows下开发 xff0c 可以直接使用opencv 453 jar和opencv java452 dll动
  • 网络测试工具netperf

    一般我们进行网络测试 xff0c 主要是测试网络的连通性 网络带宽 网络响应时间等 常用的工具包括ping traceroute telnet ftp等 如测试网络连通性 xff0c 可以使用ping xff0c traceroute xf
  • mybatis使用collection嵌套查询

    在开发中 xff0c 可能会遇到一对多的关系 xff0c 这个时候 xff0c 一条sql语句就难以胜任这个任务了 只能先执行一条sql xff0c 然后根据返回的结果 xff0c 再做一次sql关联查询 xff0c 这个时候 xff0c
  • java通过流读取图片做base64编码

    在web页面上 xff0c 显示图片 xff0c 一般是给出图片地址 xff0c 然后以url的方式显示 xff0c 但是有一些特殊情况 xff0c 如果我们的图片保存在ftp服务器上 xff0c 不能外部轻易访问 xff0c 但是可以通过
  • tesseract-ocr+java实现图片文字识别

    ocr是Optical Character Recognition的简写 xff0c 就是光学字符识别技术 主要是对包含文本资料的图片进行识别 xff0c 获取文本信息的技术 目前tesseract ocr这个工具可以很方便的在Window
  • mysql使用join做update操纵与使用join做查询时出现重复记录的问题

    在实际处理数据过程中 xff0c 有一些数据可能会从别的地方导入过来 xff0c 两个表有关联 xff0c 但是一个表中的某一列缺失 xff0c 如果要补全 xff0c 可以利用另一个表来做填充 这里就是今天的第一个问题 xff0c 使用u
  • mac系统上通过源码编译安装opencv for java

    本人在Mac系统上尝试下载opencv源码 xff0c 然后通过cmake make make install命令编译安装 xff0c 都失败 xff0c 各种依赖缺失报错 最后通过brew install build from sourc
  • vmware安装苹果虚拟机卡在苹果图标位置不动

    计算机环境 xff1a vmware16 2 xff0c win11 xff0c macos 12 monterey xff0c macos majave 如题所示 xff0c 在vmware里面安装苹果虚拟机 xff0c 通过unlock
  • docker搭建fastdfs环境

    fastdfs是一个开源的分布式文件系统 xff0c 在实际使用中 xff0c 通过源码编译安装过程非常复杂 xff0c 但是通过docker快速构建却非常容易 下面介绍通过docker安装fastdfs的方法 docker镜像的选择也挺重