在搭建fastDFS文件上传下载服务器之前,你需要准备的有一个可连接的linux服务器,并且该linux服务器上已经安装了docker,若还有没安装docker的,先百度自行安装docker。

  1.执行命令:docker search fastdfs

  2.我选择的是season/fastdfs镜像,使用的标签是1.2(之所以选择这个镜像,是因为下载量最多,选择1.2版本 是因为最新版本不稳定,所以使用最新版本之前的稳定版本。我们下载镜像一定要下载自己的或者官方的镜像。)

   执行命令:docker pull season/fastdfs:1.2

   等待一段时间,便可下载完成

   此时执行命令:docker images

   如果可以看下以下fastdfs的镜像,即已成功安装了fastdfs的镜像

  

  3.执行命令:mkdir -p  /data/tracker

  该目录用于和tracker进行目录挂载,接下来就是创建tracker容器

  执行命令:docker run -id --name tracker --restart=always --net host -v /etc/localtime:/etc/localtime -v /data/tracker:/fastdfs/tracker/data season/fastdfs:1.2 tracker

  4.执行命令:mkdir -p /data/storage

  该目录存储上传的文件,然后是创建storage的容器

  执行命令:docker run -id --name storage --restart=always --net host -v /etc/localtime:/etc/localtime -v /data/storage:/fastdfs/store_path -e TRACKER_SERVER="ip:22122" season/fastdfs:1.2 storage

  该命令中需要执行TRACKER_SERVER的ip,这个ip换成你自己linux服务器的ip地址

  5.将tracker容器中的客户端配置文件client.conf复制到宿主机,进行修改client.conf配置文件

    执行命令:docker cp tracker:/etc/fdfs/client.conf ./

    对client.conf文件编辑修改

    执行命令:vi client.conf

   将tracker_server的ip改为你linux服务器的ip

    

  6.再将拷贝到宿主机上的client.conf文件 复制回tracker容器

    执行命令:docker cp client.conf tracker:/etc/fdfs/

  7.进入tracker容器,执行命令:docker exec -it tracker bash

    创建文件,执行命令:echo "zhangshoufu.com" >index.html

    将文件上传到服务器,执行命令:fdfs_upload_file /etc/fdfs/client.conf index.html

   

  8.此时只是能够本机访问,要想web访问,还必须集成nginx

  首先创建nginx配置文件的文件夹,执行命令:mkdir /etc/nginx/ -p

  将storage容器中的nginx配置文件拷贝到你创建的nginx文件夹下,执行命令:docker cp storage:/etc/nginx/conf/nginx.conf ./

  

  9.创建nginx的容器,执行命令:docker run -id --name fastdfs_nginx --restart=always -v /data/storage:/fastdfs/store_path -v /etc/nginx/nginx.conf:/etc/nginx/conf/nginx.conf -p 8888:80 -e TRACKER_SERVER=ip:22122 season/fastdfs:1.2 nginx

该命令中需要执行TRACKER_SERVER的ip,这个ip换成你自己linux服务器的ip地址

  10.修改nginx的配置文件,执行命令:vi /etc/nginx/nginx.conf

  将location 中的内容修改为:

location / {
                       root /fastdfs/store_path/data;
                       ngx_fastdfs_module;
             }

  

  

  重启fastdfs_nginx容器,执行命令:docker restart fastdfs_nginx
  linux服务器上访问你刚上传的文件,
  执行命令:curl -i http://127.0.0.1:8888/group1/M00/00/00/rB4ACV6ab6eAQrtmAAAAEN9dPo040.html

  到此你已经成功搭建了fastDFS文件服务器,此时你可以在你得web上访问图片的url,发现可以进行web访问了

over~but 下一篇继续分享用SpringBoot上传文件到文件系统

一、手把手教你docker搭建fastDFS文件上传下载服务器的更多相关文章

  1. spring boot(十八)集成FastDFS文件上传下载

    上篇文章介绍了如何使用Spring Boot上传文件,这篇文章我们介绍如何使用Spring Boot将文件上传到分布式文件系统FastDFS中. 这个项目会在上一个项目的基础上进行构建. 1.pom包 ...

  2. xftp实现本地与服务器的文件上传下载(windows)

    背景: Jemter环境搭建,需上传下载服务器文件到aws服务器上,由于secureCRT的局限性它只支持pub格式的密钥,不支持pem格式密钥,xshell是支持pem格式的,所以尝试安装xshel ...

  3. 手把手教你制作AppPreview视频并上传到appStore进行审核

    手把手教你制作AppPreview视频并上传到appStore进行审核 注意,你需要使用iMovie才能够制作AppPreview视频文件,用QuickTime录制的无效! 最终效果 1. 新建一个事 ...

  4. Java 客户端操作 FastDFS 实现文件上传下载替换删除

    FastDFS 的作者余庆先生已经为我们开发好了 Java 对应的 SDK.这里需要解释一下:作者余庆并没有及时更新最新的 Java SDK 至 Maven 中央仓库,目前中央仓库最新版仍旧是 1.2 ...

  5. FastDFS实现文件上传下载实战

    正好,淘淘商城讲这一块的时候,我又想起来当时老徐让我写过一个关于实现FastDFS实现文件上传下载的使用文档,当时结合我们的ITOO的视频系统和毕业论文系统,整理了一下,有根据网上查到的知识,总结了一 ...

  6. fastDFS与java整合文件上传下载

    准备 下载fastdfs-client-java源码 源码地址 密码:s3sw 修改pom.xml 第一个plugins是必需要的,是maven用来编译的插件,第二个是maven打源码包的,可以不要. ...

  7. FastDFS 文件上传工具类

    FastDFS文件上传工具类 import org.csource.common.NameValuePair; import org.csource.fastdfs.ClientGlobal; imp ...

  8. Nginx + Lua搭建文件上传下载服务

    收录待用,修改转载已取得腾讯云授权 最新腾讯云技术公开课直播,提问腾讯W3C代表,如何从小白成为技术专家?点击了解活动详情 作者 | 庄进发 编辑 | 迷鹿 庄进发,信息安全部后台开发工程师,主要负责 ...

  9. SpringBoot入门一:基础知识(环境搭建、注解说明、创建对象方法、注入方式、集成jsp/Thymeleaf、logback日志、全局热部署、文件上传/下载、拦截器、自动配置原理等)

    SpringBoot设计目的是用来简化Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,SpringBoot致力于在蓬勃发 ...

随机推荐

  1. Linux mem 2.6 Rmap 内存反向映射机制

    文章目录 1. 简介 2. 匿名内存 Rmap 的建立 2.1 fork() 2.2 do_page_fault() 3. 文件内存 Rmap 的建立 3.1 fork() 3.2 do_page_f ...

  2. mysql根据条件决定是否插入数据

    这个问题其实分两个方面: 1.根据表的主键决定数据是否插入. 2.根据表的非主键决定是否插入. 假设有表DOC_INFO(医生表),联合主键HOS_ID(医院代码),DEPT_CODE(科室代码),D ...

  3. 菜鸡的Java笔记 Eclipse 的使用

    Eclipse 的使用    1. Eclipse 简介    2. Eclipse 中的JDT 的使用    3. Eclipse 中的使用 junit 测试        Eclipse (中文翻 ...

  4. Windows操作系统安全加固基线检测脚本

    一.背景信息 在我们的安全运维工作中经常需要进行安全基线配置和检查,所谓的安全基线配置就是系统的最基础的安全配置,安全基线检查涉及操作系统.中间件.数据库.甚至是交换机等网络基础设备的检查,面对如此繁 ...

  5. VC练习一

    1 #include<windows.h> 2 #include<stdio.h> 3 LRESULT CALLBACK WinSunProc(HWND hwnd,UINT u ...

  6. Dapr-绑定构建块

    前言: 前篇-发布订阅文章对Dapr的订阅/发布进行了解,本篇继续对 绑定 构建块进行了解. 一.简介: Dapr 资源绑定使服务能够跨即时应用程序外部的外部资源集成业务操作. 来自外部系统的事件可能 ...

  7. IDEA安装JavaFx

    jdk11之后jdk就不内置javafx了,需要自己下载 在idea中新建JavaFx项目: 创建成功后发现代码标红 这个时候要把刚刚下载的JavaFx包解压后添加进去 ​ 选择到自己解压的路径的文件 ...

  8. 通过Rainbond的团队管理去管理已有的组织架构

    针对于多团队管理我先列举几个小问题,看看大家有没有共鸣,我们在刚刚接触并使用Rainbond的时候,仅仅创建一个团队,里面创建一大堆应用,看起来特别乱,进行管理的时候呢,也会非常麻烦,尤其是当团队需要 ...

  9. Codeforces 1137F - Matches Are Not a Child's Play(LCT)

    Codeforces 题面传送门 & 洛谷题面传送门 考虑将一个点 \(x\) 的编号变为当前所有点编号最大值 \(+1\) 会对每个点的删除时间产生怎么样的影响.由于编号最大的点肯定是最后一 ...

  10. Codeforces 856D - Masha and Cactus(树链剖分优化 dp)

    题面传送门 题意: 给你一棵 \(n\) 个顶点的树和 \(m\) 条带权值的附加边 你要选择一些附加边加入原树中使其成为一个仙人掌(每个点最多属于 \(1\) 个简单环) 求你选择的附加边权值之和的 ...