fastdfs简介

一、docker部署fastdfs

fastdfs 的Dockerfile

FROM centos:7LABEL maintainer "luhuiguo@gmail.com"ENV FASTDFS_PATH=/opt/fdfs \FASTDFS_BASE_PATH=/var/fdfs \PORT= \GROUP_NAME= \TRACKER_SERVER=#get all the dependences
RUN yum install -y git gcc make#create the dirs to store the files downloaded from internet
RUN mkdir -p ${FASTDFS_PATH}/libfastcommon \&& mkdir -p ${FASTDFS_PATH}/fastdfs \&& mkdir ${FASTDFS_BASE_PATH}#compile the libfastcommon
WORKDIR ${FASTDFS_PATH}/libfastcommonRUN git clone --branch V1.0.36 --depth 1 https://github.com/happyfish100/libfastcommon.git ${FASTDFS_PATH}/libfastcommon \&& ./make.sh \&& ./make.sh install \&& rm -rf ${FASTDFS_PATH}/libfastcommon#compile the fastdfs
WORKDIR ${FASTDFS_PATH}/fastdfsRUN git clone --branch V5.11 --depth 1 https://github.com/happyfish100/fastdfs.git ${FASTDFS_PATH}/fastdfs \&& ./make.sh \&& ./make.sh install \&& rm -rf ${FASTDFS_PATH}/fastdfsEXPOSE 22122 23000 8080 8888
VOLUME ["$FASTDFS_BASE_PATH", "/etc/fdfs"]   COPY conf/*.* /etc/fdfs/COPY start.sh /usr/bin/#make the start.sh executable
RUN chmod 777 /usr/bin/start.shENTRYPOINT ["/usr/bin/start.sh"]
CMD ["tracker"]

1、创建docker-compose.yml

version: '3.0'
services:tracker:container_name: trackerimage: luhuiguo/fastdfscommand: tracker # 覆盖容器启动后默认执行的命令, 支持 shell 格式和 [] 格式network_mode: host # 指定网络模式 (等同于 docker run --net 的作用, 在使用 swarm 部署时将忽略该选项)#volumes:   # 不要映射出来,要不每次重启tracker都要清数据文件#- /var/fdfs/tracker:/var/fdfs    storage0:container_name: storage0image: luhuiguo/fastdfscommand: storagenetwork_mode: host  environment: # 设置环境变量, environment 的值可以覆盖 env_file 的值 (等同于 docker run --env 的作用)- TRACKER_SERVER=192.168.180.35:22122- GROUP_NAME=group1volumes: - /var/fdfs/storage0:/var/fdfs- storage4:container_name: storage4image: luhuiguo/fastdfscommand: storagenetwork_mode: hostenvironment:- TRACKER_SERVER=192.168.180.35:22122- GROUP_NAME=group2- PORT=22222volumes:- /home/data/fastdfs/storage4:/var/fdfs

注:docker exec -it tracker sed -i ‘s/192.168.0.197/192.168.180.35/g’ /etc/fdfs/client.conf #不用运行这个语句

2、查看配置

docker exec -it tracker fdfs_monitor /etc/fdfs/client.conf

3、验证

先进入docker容器
root@localhost:/# echo hello>a.txt/root@localhost:/# /usr/bin/fdfs_test /etc/fdfs/client.conf upload a.txt
This is FastDFS client test program v5.11Copyright (C) 2008, Happy Fish / YuQingFastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/
for more detail.[2019-11-13 09:16:54] DEBUG - base_path=/var/fdfs, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0tracker_query_storage_store_list_without_group:server 1. group_name=, ip_addr=192.168.180.46, port=23000group_name=group1, ip_addr=192.168.180.46, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/wKi0Ll3LygaACOgwAAAABncc3SA568.txt
source ip address: 192.168.180.46
file timestamp=2019-11-13 09:16:54
file size=6
file crc32=1998380320
example file url: http://192.168.180.46/group1/M00/00/00/wKi0Ll3LygaACOgwAAAABncc3SA568.txt
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/wKi0Ll3LygaACOgwAAAABncc3SA568_big.txt
source ip address: 192.168.180.46
file timestamp=2019-11-13 09:16:54
file size=6
file crc32=1998380320
example file url: http://192.168.180.46/group1/M00/00/00/wKi0Ll3LygaACOgwAAAABncc3SA568_big.txt

查看本地文件的位置
http://192.168.180.46/group1/M00/00/00/wKi0Ll3bji6AKxJiAAAABncc3SA697_big.txt

[root@localhost ~]# cd /var/fdfs/storage0/data/00/00/wKi0Ll3bji6AKxJiAAAABncc3SA697_big.txt
启动:
sudo service fdfs_trackerd start
sudo service fdfs_storaged start重启:
sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart终止:
sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop

二、kubernetes部署fastdfs

fastdfs-deploy.yaml


apiVersion: extensions/v1beta1
kind: Deployment
metadata:name: tracker-deploynamespace: paas-basiclabels:name: tracker-deploy
spec:replicas: 1template:metadata:labels:app: trackerspec:nodeSelector:tracker: "true"terminationGracePeriodSeconds: 0containers:- name: trackerimage: sinoeyes.io/library/fastdfs:1.0imagePullPolicy: Alwaysports:- containerPort: 22122- containerPort: 23000- containerPort: 8080- containerPort: 8888volumeMounts:- name: tracker-volumemountPath: /var/fdfscommand: ["/usr/bin/start.sh","tracker"]volumes:- name: tracker-volumehostPath:path: /home/data/fastdfs/tracker---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:name: storage0-deploynamespace: paas-basiclabels:name: storage0-deploy
spec:replicas: 1template:metadata:labels:app: storage0spec:nodeSelector:storage: "true"terminationGracePeriodSeconds: 0containers:- name: storage0image: sinoeyes.io/library/fastdfs:1.0imagePullPolicy: Alwaysports:- containerPort: 22122- containerPort: 23000- containerPort: 8080- containerPort: 8888volumeMounts:- name: storage0-volumemountPath: /var/fdfsenv:- name: TRACKER_SERVERvalue: 10.110.110.110:22122command: ["/usr/bin/start.sh","storage"]# 默认group1#- name: GROUP_NAME#  value: "group1"volumes:- name: storage0-volumehostPath:path: /home/data/fastdfs/storage0---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:name: storage1-deploynamespace: paas-basiclabels:name: storage1-deploy
spec:replicas: 1template:metadata:labels:app: storage1spec:nodeSelector: storage: "storage1"terminationGracePeriodSeconds: 0  containers:                - name: storage1image: sinoeyes.io/library/fastdfs:1.0imagePullPolicy: Alwaysports:- containerPort: 22122- containerPort: 23000- containerPort: 8080- containerPort: 8888volumeMounts:- name: storage1-volumemountPath: /var/fdfsenv:- name: TRACKER_SERVERvalue: tracker.paas-basic:22122#value: 10.110.110.110:22122- name: GROUP_NAMEvalue: "group2"command: ["/usr/bin/start.sh","storage"]volumes:- name: storage1-volumehostPath:path: /home/data/fastdfs/storage1

fastdfs-service.yaml

apiVersion: v1
kind: Service
metadata:name: trackerlabels:app: trackernamespace: paas-basic
spec:selector:app: trackertype: NodePortclusterIP: 10.110.110.110ports:- name: "22122"port: 22122targetPort: 22122protocol: TCP- name: "23000"port: 23000targetPort: 23000protocol: TCP- name: "8080"port: 8080targetPort: 8080protocol: TCP- name: "8888"port: 8888targetPort: 8888protocol: TCP

注意:
1、nodeSelector根据 label 指定pod起在哪台机器上,根据自身所需进行修改
2、注意集群中不同node网络是否相通
storage.conf配置文件
tracker.conf配置文件
luhuiguo/fastdfs镜像参考
season/fastdfs镜像参考
其他参考1

docker-compose、kubernetes安装部署fastdfs文件集群系统相关推荐

  1. docker、kubernetes安装部署fastdfs文件集群系统

    fastdfs简介 一.docker部署fastdfs fastdfs 的Dockerfile FROM centos:7LABEL maintainer "luhuiguo@gmail.c ...

  2. 使用docker安装部署Spark集群来训练CNN(含Python实例)

    使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需 ...

  3. 【Docker安装部署FastDFS详细过程】

    0.国人之光~FastDFS 分布式文件存储的由来: 在我们的项目中有很多需要存储的内容出现,比如图片,视频,文件等等,在早期的时候用户量不大,产生的文件也不是很多,这时我们可以把文件和服务程序放在一 ...

  4. centos7.8 安装部署 k8s 集群

    centos7.8 安装部署 k8s 集群 文章目录 centos7.8 安装部署 k8s 集群 环境说明 Docker 安装 k8s 安装准备工作 Master 节点安装 k8s 版本查看 安装 k ...

  5. RKE安装部署K8S集群、Rancher

    服务器准备:三台虚拟机(master:1,node:2:这里选用的阿里云ECS) OS hostname 内网IP Centos7 joker-master-1 172.27.31.149 Cento ...

  6. weblogic 正在启动 wsee服务_详解LINUX安装部署weblogic集群--第二部分

    概述 续一下前几天说的安装部署weblogic集群部分,前面介绍了在每台服务器(ABCDE)安装weblogic软件,下面只在A服务器创建域,最后再拷贝到其他服务器即可. 使用Domain Confi ...

  7. Docker Compose方式安装GitLab

    文章目录 用Docker Compose方式安装GitLab 前提条件 一键自动化以Docker Compose方式安装GitLab GitLab Docker Compose文件 安装和运行GitL ...

  8. #gStore-weekly | Centos7系统下gStore在 docker上的安装部署

    本人在使用gStore时想在docker环境中安装部署,但是官网的开发文档中关于docker安装部署指导很少,因此本人就根据自己的安装经验编写一篇关于gStore在docker上的安装部署博文. 本人 ...

  9. Docker之registry安装部署

    Docker之registry安装部署 我说了您可能就不会继续看registry了,但是我还是要说,这个东东真不好用,不如harbor(强烈推荐). 1.安装docker --此处省略-- 2.拉取r ...

最新文章

  1. 2021.02.05 Visual QA论文阅读
  2. php与mysql连接程序_PHP与Mysql连接
  3. bool与string互转
  4. 直击“上云”痛点的 MSP 新生意,万博智云发布云原生迁移工具 HyperMotion 3.0
  5. python基础知识学习笔记(2)
  6. (day 07 - dfs or bfs)剑指 Offer 13. 机器人的运动范围
  7. 飞机模拟flightgear
  8. 环洋调研报告-2021年全球MEMS射频开关行业调研及趋势分析报告
  9. 详解python主函数
  10. 方舟生存进化手游服务器显示以驯养两千,《方舟:生存进化》手游官方网站-大型生存探索沙盒手游...
  11. 【测评】国外AR平台ENTITI测评-网页编辑器(1)
  12. date format picture ends before converting entire input string
  13. 2022年武汉市小微企业服务补贴券签约服务机构申报条件、材料和申报方式
  14. HashMap 底层源码详解(jdk1.8)
  15. 深圳商报 | 跨境电商大会聚焦跨境收款难题
  16. 11. 将学生的学号及平均成绩定义为一个视图(s_g),学号用sno表示,平均成绩用gavg表示。
  17. 四川大学计算机导论半期考试,川大人的期末笔记!学霸原来是这样复习的……(内附天府通中奖名单)...
  18. Keepass 教程之二——完美的通用自动输入规则
  19. OpenCV_在图像上添加十字线
  20. Google Analytics与Google Adwords的转换数据差别

热门文章

  1. 浙江师范大学2017年计算机类录取分,2018浙江师范大学各省录取分数线【最新】...
  2. 10天精读掌握:计算机组成与设计(COAD:Patterson and Hennessy) (第2天 2018/10.25)
  3. 2015年9月全国二级C语言,2015年9月全国计算机二级C语言模拟题
  4. python写一个程序可以不不断的输⼊入数字,直到输⼊入的数字是0打印 结束 后程序结束。 正确代码:
  5. 国内首例!违反 GPL 协议致侵权,被判赔偿 50 万元
  6. bootstrap pagewrapper_Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
  7. Android 应用详情查看
  8. ASP.NET/C#实现搜索功能
  9. C++常见面试题知识点
  10. spring boot 搭建的一个企业级快速开发脚手架