集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > Java >

成都java培训:FastDFS基于Docker安装

发布者: 成都达内     浏览次数:     发布时间:2020-07-23 10:31:26

暂且不说Docker在生产环境的性能如何,单就在学习新技术的过程中能够快速构建环境这一项来说,就值得推荐你尝试使用。本文带大家基于Docker来安装FastDFS服务。...

  暂且不说Docker在生产环境的性能如何,单就在学习新技术的过程中能够快速构建环境这一项来说,就值得推荐你尝试使用。本文带大家基于Docker来安装FastDFS服务。

  即便你对FastDFS的安装不感兴趣,也可以学习一下Docker安装软件的过程(基本通用),是提高学习效率的法宝之一。

  Docker安装FastDFS

  关于Docker的安装不同的操作系统有不同的安装方法,这里就不再赘述,默认你的电脑或服务器上已经安装好了Docker,并已启动。

  我们来看一下Docker库里面已经存在了哪些镜像可供使用。执行以下命令(如果非管理员权限则可能需要使用sudo):

  bogon:~ zzs$ docker search fastdfs

  NAME DESCRIPTION STARS OFFICIAL AUTOMATED

  season/fastdfs FastDFS 66

  luhuiguo/fastdfs FastDFS is an open source high performance d… 25 [OK]

  ygqygq2/fastdfs-nginx 整合了nginx的fastdfs 20 [OK]

  morunchang/fastdfs A FastDFS image 19

  delron/fastdfs 12

  moocu/fastdfs fastdfs5.11 9

  qbanxiaoli/fastdfs FastDFS+FastDHT单机版 8 [OK]

  ……

  如果你是安装其他的软件,也可同样通过docker search命令来进行查找。

  这里采用名字为delron/fastdfs的镜像,当然你也可以选择其他的镜像,配置会有所不同,有些镜像内没有Nginx相关配置。

  那么,我们就把它pull下来吧。

  docker pull delron/fastdfs

  构建Tracker容器

  使用docker镜像构建tracker容器,用于启动跟踪服务器,起到调度的作用。

  docker run -d --network=host --name tracker -v /Users/zzs/develop/temp/tracker:/var/fdfs delron/fastdfs tracker

  上面的启动命令是在Linux下,如果是Mac或Windows操作系统network=host(容器与主机享受相同的network namespace)会失效,此时需要指定对应的端口映射。本教程的Docker宿主机为Mac。

  docker run -d --name tracker -p 22122:22122 -v /Users/zzs/develop/temp/tracker:/var/fdfs delron/fastdfs tracker

  默认tracker是监听在22122端口的。

  其中-v参数将本地的目录与容器中的/var/fdfs目录进行挂载。

  这里可以看到tracker服务已经启动完成。

  docker ps

  CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

  15bfca8b94eb delron/fastdfs "/usr/bin/start1.sh …" 4 seconds ago Up 3 seconds 8080/tcp, 8888/tcp, 23000/tcp, 0.0.0.0:22122->22122/tcp tracker

  构建Storage容器

  使用docker镜像构建storage容器,用于启动存储服务器,提供容量和备份服务。

  在执行下面命令时特别需要提醒的时,对应的IP地址,需要修改为tracker服务的IP地址,由于是在同一台电脑上操作,这里使用本机的内网地址即可,22122是tracker对应的端口。

  示例,下面命令需要替换IP地址。

  docker run -d --network=host --name storage -e TRACKER_SERVER=ip:22122 -v /Users/zzs/develop/temp/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage

  替换IP地址之后对应Mac下的的具体执行操作:

  docker run -d --name storage -p 8888:8888 -p 23000:23000 -e TRACKER_SERVER=192.168.43.143:22122 -v /Users/zzs/develop/temp/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage

  其中8888为Nginx对应的访问端口,23000是storage服务端口。

  此时可查看docker的服务情况:

  docker ps

  CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

  2bc9f8268eda delron/fastdfs "/usr/bin/start1.sh …" 5 seconds ago Up 4 seconds 8080/tcp, 0.0.0.0:8888->8888/tcp, 22122/tcp, 0.0.0.0:23000->23000/tcp storage

  15bfca8b94eb delron/fastdfs "/usr/bin/start1.sh …" 2 minutes ago Up 2 minutes 8080/tcp, 8888/tcp, 23000/tcp, 0.0.0.0:22122->22122/tcp tracker

  修改配置

  经过上面的步骤,tracker和storage都启动完成。我们可以进入对应的docker容器查看一下默认的配置情况。

  进入docker的命令为:

  docker exec -it 2bc9f8268eda bash

  其中参数值“2bc9f8268eda”为我们上面看到的要进入的容器的CONTAINER ID。

  先进入storage,查看其对应配置文件中关于http访问的配置,配置文件在/etc/fdfs目录下的storage.conf。在最后一行可以看到如下配置:

  # the port of the web server on this storage server

  http.server_port=8888

  也就是说,这个docker镜像中默认监听的是8888端口,当然此配置是需要修改的。如果修改为其他端口,对应的Nginx配置也需要修改。

  那么Nginx配置在哪里呢?也在当前容器当中。Nginx配置文件的根目录为:

  /usr/local/nginx/conf/

  可以对其下的nginx.conf进行查看和修改。先来看一下默认配置:

  server {

  listen 8888;

  server_name localhost;

  location ~/group[0-9]/ {

  ngx_fastdfs_module;

  }

  error_page 500 502 503 504 /50x.html;

  location = /50x.html {

  root html;

  }

  }

  上面是关于server的配置,端口与storage的端口一一对应。如果需要修改时两个同步修改。

  通过上面的操作你会发现默认FastDFS会需要开启8888、23000、22122端口,如果在Linux操作系统下,注意防火墙对对应端口的开放。

  测试一下

  经过上面的步骤已经完成了FastDFS的安装和配置,下面我们来放一张图片验证一下。

  首先,将一张图片放在本机挂载目录/Users/zzs/develop/temp/storage下(上面命令中用到的目录)。

  然后,进入storage容器,进入/var/fdfs目录,执行如下命令:

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

  其中wenxin.jpg是前面存放在本机storage目录下的图片的名称。

  相关执行命令及目录:

  [root@2bc9f8268eda fdfs]# pwd

  /var/fdfs

  [root@2bc9f8268eda fdfs]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf weixin.jpg

  group1/M00/00/00/rBEAA18X7ZWAfAPiAABrsFVlX6U142.jpg

  此时,文件已经上传成功,会返回在storage存储文件的路径信息。

  通过url访问http://ip:8888/group1/M00/00/00/rBEAA18X7ZWAfAPiAABrsFVlX6U142.jpg,即可查看到图片。这里ip替换成localhost或127.0.0.1接口。

(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座16层

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56