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的更多相关文章

  1. docker下搭建fastfds集群版

    搭建过程参考 作者 https://me.csdn.net/feng_qi_1984 的课程视频 声明:集群版是在我之前写的单机版基础之上进行搭建的,我将安装了fastfds单机版的docker打包成 ...

  2. Linux 使用 docker 下搭建xunsearch 搜索引擎服务

    Linux 使用 docker 下搭建 xunsearch 搜索引擎服务 安装 docker 环境(菜鸟教程有说明) 安装docker说明 下载并运行 xunsearch 的服务端:docker安装x ...

  3. 实战maven私有仓库三部曲之三:Docker下搭建maven私有仓库

    本章是<实战maven私有仓库>系列的第三篇,在前两章中,我们先在linux搭建maven私有仓库,然后在开发环境使用此仓库,本章我们在docker下快速搭建maven私有仓库,然后像前面 ...

  4. docker下搭建owncloud

    在ubuntu下 搭建owncloud 用docker-compose启动,owncloud.yml文件内容 owncloud: image: owncloud: restart: always 开机 ...

  5. 在Docker下搭建MySQL双主双重集群(单机展示,与多机原理一致)

    前言 Docker的安装部署&在Docker下MySQL的安装与配置 https://www.cnblogs.com/yumq/p/14253360.html 在Docker进行单机主从复制M ...

  6. Docker下搭建Jenkins构建环境

    首先需要搭建好docker环境的linux系统,这个教程多如牛毛,在此不再赘述. 然后编写一个dockerfile来生成一个镜像,dockerfile其实就是一系列命令的集合,有点像windows的批 ...

  7. Docker下搭建mongodb副本集

    背景 有需求需要对mongodb做一个容灾备份.根据官网,发现mongodb最新版本(4.0)已经抛弃了主从模式而采用副本集进行容灾.副本集的优势在于:"有自动故障转移和恢复特性,其任意节点 ...

  8. docker下搭建zipkin for mysql

    docker pull openzipkin/zipkin 新建docker-compose.yml加入以下内容,自行修改. version: ' services: # The zipkin pro ...

  9. 用Docker下搭建GitLab

    最近试了一下Docker,发现用它搭建服务十分方便,就用它搭建了一个gitlab练练手. 首先下载gitlab镜像:         docker image pull gitlab/gitlab-c ...

随机推荐

  1. ASP.NET Core2.2 IExceptionFilter

    用vs2017建立一个ASP.NET Core Web应用程序并选择MVC框架,自动生成了 Startup的类,并配置了错误处理方式: if (env.IsDevelopment()) { app.U ...

  2. 关于Unity3D使用时Scene视图清楚,Game视图不清楚的问题

    1.自己不知道什么时候,将LowResolutioinAspectRatios给勾上了, 2.同样的Scale值大于1的时候也会造成模糊,但这个好像比1好发现一点

  3. C++面试笔记(3)

    20. 浅拷贝与深拷贝 如何理解C++中的浅拷贝与深拷贝 深拷贝和浅拷贝 在进行对象拷贝时,当对象包含对其他资源的引用,如果需要拷贝这个独享所引用的对象,那就是深拷贝,否则就是浅拷贝 *** 21.构 ...

  4. PCF学习知识

    1. 去PCF官网注册一个免费账号,地址是: https://login.run.pivotal.io/login 2.安装PCF的命名,cf cli. 地址https://pivotal.io/pl ...

  5. python爬虫基础_webwechat

    简单的模拟:借用微信网页版,写个扫码页面,登录页面,实现简单的登录.联系人列表.发消息,收消息. 以下是笔记: #!/usr/bin/env python # coding:utf-8 from fl ...

  6. Hello1 web

    <?xml version="1.0" encoding="UTF-8"?>     xml版本,指定编码格式 <web-app versio ...

  7. <html> ---- position

    position 固定的属性,是全局的.和DIV层次无关. <!DOCTYPE html> <html lang="en"> <head> &l ...

  8. MySQL最基本的概念梳理

    本文根据<MySQL必知必会>(Ben Forta著,2009)整理,基于MySQL4.1-5,可作为深入研究MySQL之前的漱口篇.(基本语句.正则表达式.联结.全文本搜索.增删改查.存 ...

  9. 深入理解java虚拟机《一》

    一.java发展史 1995.5.23 Oak语言改名为java,sun正式发布java 1.0版本 1996.1.23 JDK 1.0发布,java语言第一个正式版本运行环境 主要包括:java虚拟 ...

  10. 删除单链表节点,时间复杂度为O(1)

    一个编程练习,删除单链表一个节点,且时间复杂度控制在O(1)内. 1.核心操作代码如下: struct ListNode { int m_data; ListNode *m_pNext; }; voi ...