docker下搭建fastfds
https://blog.csdn.net/weixin_40247263/article/details/81087726
搭建过程参考 作者 https://me.csdn.net/feng_qi_1984 的课程视频
声明:集群版是在我之前写的单机版基础之上进行搭建的,我将安装了fastfds单机版的docker打包成了镜像。
如对fastfds搭建流程不熟悉者,需先参阅之前的文章。点击进入文章
首先借鉴一个公众号的两张图来说明一下 fastfds 上传下载的流程,公众号为 "Java架构师之路"
我搭建的思路是,两个tracker、四个storage,然后通过nginx进行反向代理访问图片。
下面演示搭建步骤
先配置几个虚拟ip
运行上次打包的镜像,创建docker容器
docker run --privileged=true -itd -v /soft/:/back -p 192.168.46.230:80:80 -p 192.168.46.230:22122:22122 -p 192.168.46.230:8080:8080 529c212ff162 /bin/bash
进入容器
docker exec -it 0d581e092e1d /bin/bash
(一)tracker
集群版中 配置 tracker 修改tracker.conf文件
# cd /etc/fdfs/
# vi tracker.conf
修改 store_lookup=2 (0代表轮询,1代表固定group,2代表负载均衡)
启动 tracker
# service fdfs_trackerd start
查看一下
# netstat -unltp | grep fdfs
备用 tracker 进行相同操作
(二)storage
配置storage的配置文件
# cd /etc/fdfs/
# vi storage.conf
修改tracker_server
配置group_name 我的是两个1两个2
把主备两个tracker都配置上
tracker_server=172.17.0.34:22122
tracker_server=172.17.0.36:22122
修改/etc/fdfs/目录下的mod_fastdfs.conf
connect_timeout=10
tracker_server 主备两个都要配置 且更改 group_count = 2
我是设置了两个组 每个组两个storage
再配置group1和group2
修改nginx配置文件
# cd /usr/local/nginx/conf/
# vi nginx.conf
listen 8888; 由于storage的端口号为8888 所以这里要修改
如果是group2的话 需要修改group2
修改完以后 保存退出
将刚刚配置好的storage容器 打包成镜像
docker commit f790145a83a2 storage:v1
然后依旧是端口号映射、硬盘挂载创建容器,注意要更改ip地址,然后用新打包好的镜像
docker run --privileged=true -itd -v /soft/:/back -p 192.168.46.235:80:80 -p 192.168.46.235:23000:23000 -p 192.168.46.235:8888:8888 cea52388dba7 /bin/bash
注意 这里的 端口号 做了 修改
安装好以后 进入容器。 直接启动 storage服务 和 nginx 服务就行了
然后继续 安装 容器
这次进入以后 将 storage.conf 和 mod_fastdfs.conf 中的 groupname 修改为 group2
storage.conf
mod_fastdfs.conf
nginx 的配置文件 也要修改
再 启动 storage 服务 和 nginx 服务
然后再 安装一个容器 同上
安装并配置完以后
在cd /usr/bin 这个 文件夹下面 有很多可执行的脚本。
我们通过fdfs_monitor /etc/fdfs/storage.conf 命令
可以查看到 以下内容
再往下 可以看到 分别有哪些组,每个组里有哪些storage 以及这些storage的状态
(三) 测试一下
进入 主 tracker 也就是 第一个配置的那个 tracker
修改 /etc/fdfs/client/conf 文件
# /usr/bin/fdfs_test /etc/fdfs/client.conf upload /back/3.jpg
添加路由
复制地址,输入端口号 8888 可以访问
通过linux的ip也可以访问
由于我这个是group2,那么group2中的另一个 storage中应该也存放了该图片
上传虽然能成功 但是访问的时候IP都不同 所以访问起来很不方便 可以再用一个nginx做一个反向代理
# cd /usr/local/nginx/conf/
# vi nginx.conf
启动 nginx
就可以通过 nginx 的ip地址 加上后面的 路径 访问图片了
docker下搭建fastfds的更多相关文章
- docker下搭建fastfds集群版
搭建过程参考 作者 https://me.csdn.net/feng_qi_1984 的课程视频 声明:集群版是在我之前写的单机版基础之上进行搭建的,我将安装了fastfds单机版的docker打包成 ...
- Linux 使用 docker 下搭建xunsearch 搜索引擎服务
Linux 使用 docker 下搭建 xunsearch 搜索引擎服务 安装 docker 环境(菜鸟教程有说明) 安装docker说明 下载并运行 xunsearch 的服务端:docker安装x ...
- 实战maven私有仓库三部曲之三:Docker下搭建maven私有仓库
本章是<实战maven私有仓库>系列的第三篇,在前两章中,我们先在linux搭建maven私有仓库,然后在开发环境使用此仓库,本章我们在docker下快速搭建maven私有仓库,然后像前面 ...
- docker下搭建owncloud
在ubuntu下 搭建owncloud 用docker-compose启动,owncloud.yml文件内容 owncloud: image: owncloud: restart: always 开机 ...
- 在Docker下搭建MySQL双主双重集群(单机展示,与多机原理一致)
前言 Docker的安装部署&在Docker下MySQL的安装与配置 https://www.cnblogs.com/yumq/p/14253360.html 在Docker进行单机主从复制M ...
- Docker下搭建Jenkins构建环境
首先需要搭建好docker环境的linux系统,这个教程多如牛毛,在此不再赘述. 然后编写一个dockerfile来生成一个镜像,dockerfile其实就是一系列命令的集合,有点像windows的批 ...
- Docker下搭建mongodb副本集
背景 有需求需要对mongodb做一个容灾备份.根据官网,发现mongodb最新版本(4.0)已经抛弃了主从模式而采用副本集进行容灾.副本集的优势在于:"有自动故障转移和恢复特性,其任意节点 ...
- docker下搭建zipkin for mysql
docker pull openzipkin/zipkin 新建docker-compose.yml加入以下内容,自行修改. version: ' services: # The zipkin pro ...
- 用Docker下搭建GitLab
最近试了一下Docker,发现用它搭建服务十分方便,就用它搭建了一个gitlab练练手. 首先下载gitlab镜像: docker image pull gitlab/gitlab-c ...
随机推荐
- JAVA 平时作业二
编写一个 Java 应用程序,统计数组{1,3,4,7,2,1,1,5,2,5,7,2,1,1,3},统 计显示每种数字其出现的次数以及出现最多和最少次数的数字 public class Number ...
- 团队作业4——beta冲刺
beta冲刺准备 冲刺准备 5天冲刺博客 Beta冲刺一 Beta冲刺二 Beta冲刺三 Beta冲刺四 Beta冲刺五 用户使用报告 用户使用用报告 冲刺总结 冲刺总结随笔 项目码云地址 码云地址
- AJAX的简单示例:注册校验
众所周知,我们每次需要注册一个网站的用户名时,都会校验该邮箱.用户名是不是正确的格式.是不是有被使用过,密码是否符合规则,二次确认是否符合. 如果这些校验都采用form表单提交的话,会给用户带来极不好 ...
- ASP.NET Core2.2 多用户验证和授权
asp.net core2.2 用户验证 和授权有很详细和特贴心的介绍,我感兴趣的主要是这两篇: cookie身份验证 基于角色的授权 我的项目有两类用户: 微信公众号用户,用户名为公众号的openi ...
- selenium的其他操作
# author=zyqfrom selenium import webdriverimport timedriver=webdriver.Chrome()driver.get('http://ui. ...
- opencv3.1+cmake3.7.2+cuda9.1+vs2015+opencv-contrib+win10x64
下载cuda https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&targ ...
- css中关于单位的一些问题
Css中关于单位的一些问题 相对字体长度: Em:Em 是一个相对单位.起初排版度量时是基于当前字体大写字母”M”的尺寸的.当改变font-family时,它的尺寸不会发生改变,但在改变font-si ...
- Redux的工作流程
1.Redux 是一个专门用来管理数据业务或逻辑状态的框架,它也可以实现代码结构的规范化并提供组件之间通信的便利,而这两点,对于大型应用来说非常关键. 2.工作流程: Redux 三大原则 单一数据源 ...
- js循环出相同name,不同id的按钮,对其进行点击回复操作
function getseat(){ var option= "<button class='btn'style='margin:5px;' onclick='onclickSeat ...
- Verilog中的reg一定会被综合成寄存器么
对应于实际的数字电路中,如果该程序块描述的是时序逻辑,则该寄存器变量对应为寄存器:如果该程序块描述的是组合逻辑,该寄存器变量对应为硬件逻辑:如果该程序块描述的是不完全组合逻辑,那么该寄存器变量也可以对 ...