go-fastfds部署心得
我是windows系统安装 Docker Desktop部署
docker run --name go-fastdfs(任意的一个名称) --privileged=true -t -p 3666:8080 -v /data/fasttdfs_data:/data -e GO_FASTDFS_DIR=/data sjqzhang/go-fastdfs:lastest
docker run:该命令用于运行一个新的Docker容器。
--name go-fastdfs:指定新容器的名称,在本例中,它设置为go-fastdfs。
--privileged=true:向容器授予扩展权限。这对于需要提升权限的某些操作通常是必要的。
-t:为容器分配一个伪 TTY(终端)。这通常用于与容器的外壳进行交互。
-p 3666:8080:将主机上的3666端口映射到容器上的8080端口。这意味着您可以从主机的端口 3666 访问容器内端口 8080 上运行的服务。
-v /data/fasttdfs_data:/data:将/data/fasttdfs_data宿主机的目录挂载到/data容器内的目录。这用于卷映射,允许数据保留在容器外部。
-e GO_FASTDFS_DIR=/data:在容器内设置一个环境变量,GO_FASTDFS_DIR其值为/data。该环境变量可能被sjqzhang/go-fastdfs图像使用。
sjqzhang/go-fastdfs:指定创建容器时使用的Docker镜像。sjqzhang在本例中,它是为应用程序创建的图像go-fastdfs。
输出“Listen on :8080”表示容器内的应用程序正在侦听端口 8080 上的传入连接。这时候可以能够通过在http://localhost:3666Web 浏览器中访问主机上的服务。
如果只用文件上传接口 到这里已经结束了
下面的配置项是与其他三个接口有密切联系
/group1/get_file_info文件详情接口
/group1/delete文件删除接口
/group1/list_dir文件列表接口
这三个接口都会报这样的一个错误:Can only be called by the cluster ip or 127.0.0.1 or admin_ips(cfg.json),current ip:172.17.0.1
出现这个错误 要修改两个地方
一、1.docker ps 或者docker images打开你的镜像列表
2. 接着进入镜像内部 docker exec -it go-fastdfs sh(与安装时你起的任意名称对应)
3. vi /data/conf/cfg.json 此操作和linux系统的vi、vim类似 所谓的编辑器模式
4. 找到peers字段 peers参数会自动生成一个本地主机ip,但还是需要配置增加一个内网ip
不然使用api时会报:
Can only be called by the cluster ip or 127.0.0.1 or admin_ips(cfg.json),current ip:172.17.0.1
data文件夹下是四个子文件夹
files文件夹:是图片上传以后保存的路径,默认是按日期划分,也可以指定路径。
log文件夹:是上传信息和运行的日志信息。
static文件夹:是放置一些前端静态页面xml文件。
data文件夹:里面是一些上传的后的图片信息记录保存在ldb格式文件,如文件的md5值,上传后的路径,时间戳,Szie大小等.
到这里问题多数情况就解决了
5. 步骤4操作完不行的话 修改 "admin_ips": ["127.0.0.1", "192.168.12.35"],
"admin_ips"字段类似于白名单的作用
步骤5操作完毕 还不行的话 就要看下面的docker操作了 修改docker网关
若不想通过小黑框操作 可以在外面修改 然后粘贴进容器
docker cp C:\Users\zhouchanghao\Desktop\gofile\conf\cfg.json go-fastdfs:/data/conf/cfg.json
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
SRC_PATH:是主机上的文件或目录的路径,这里是C:\Users\zhouchanghao\Desktop\gofile\conf\cfg.json。CONTAINER:是目标容器的名称或 ID,这里是go-fastdfs。DEST_PATH:是容器内目标路径,这里是/data/conf/cfg.json。
【
OPTIONS 是用于指定一些额外参数的部分。在这个命令中,docker cp 并没有太多的额外选项需要设置,所以 OPTIONS 这一部分通常是省略的。
如果有需要,可以在 docker cp 命令中使用一些选项。例如,常见的选项包括:
-L, --follow-link:如果源是符号链接,则会复制链接指向的内容而不是链接本身。--help:显示帮助信息,列出所有可用的选项。-a, --archive:归档模式,保留所有文件的元数据。
在这里命令中,由于没有使用额外的选项,所以 OPTIONS 部分为空。
】
所以,这个命令的作用是将主机上的 cfg.json 文件复制到运行中的 go-fastdfs 容器的 /data/conf/ 目录下。这样做可以更新容器内的配置文件,使得容器在运行时使用新的配置。
二、修改docker网关
Docker容器启动后,默认会在主机上分配一个网卡,该网卡对应一个网络命名空间,并在这个网络命名空间下随机分配一个IP地址
小黑框操作命令:docker network inspect bridge 或 docker inspect bridge
找到里面 "Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
可以看到Subnet和Gateway了
可视化面板如下操作添加即可

{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"default-address-pools": [
{
"base": "你的新的IP地址/掩码",
"size": 24
}
]
}
docker restart go-fastdfs 重启镜像 完美运行
Windows系统部署
一、将
放入随便的路径下
二、 Win+R命令提示符进入上一步存放路径内 执行命令 文件名称 server 如图:![]()
三、![]()
出现此提示代表运行成功 8080为默认端口号 可更改
若被拒绝访问 则以管理员身份重新运行命令提示符重复上面流程
四、返回最初路径 此时多了五个文件夹

files文件夹:是图片上传以后保存的路径,默认是按日期划分,也可以指定路径。
log文件夹:是上传信息和运行的日志信息。
static文件夹:是放置一些前端静态页面xml文件。
data文件夹:里面是一些上传的后的图片信息记录保存在ldb格式文件,如文件的md5值,上传后的路径,时间戳,Szie大小等.
若想修改运行端口 则进入conf文件夹 编辑cfg.json文件
编辑保存即可 其他配置项若自己需要更改则请谨慎操作 (建议不更改)
相关文章:
go-fastfds部署心得
我是windows系统安装 Docker Desktop部署 docker run --name go-fastdfs(任意的一个名称) --privilegedtrue -t -p 3666:8080 -v /data/fasttdfs_data:/data -e GO_FASTDFS_DIR/data sjqzhang/go-fastdfs:lastest docker run:该命令用于运…...
Python第三次练习
Python 一、如何判断一个字符串是否是另一个字符串的子串二、如何验证一个字符串中的每一个字符均在另一个字符串中出现三、如何判定一个字符串中既有数字又有字母四、做一个注册登录系统 一、如何判断一个字符串是否是另一个字符串的子串 实现代码: string1 inp…...
从Java8升级到Java17,特色优化点
从Java8升级到Java17,特色优化点 一、局部变量类型推断二、switch表达式三、文本块四、Records五、模式匹配instanceof六、密封类七、NullPointerException 从Java 8 到 Java 20,Java 已经走过了漫长的道路,自 Java 8 以来,Java 生…...
js实现富文本
当涉及到使用 JavaScript 实现富文本时,一种常见的方法是使用一些现成的富文本编辑器库,比如: Quill:一个功能强大、易于集成的富文本编辑器,支持自定义样式和格式,提供丰富的插件和API。 TinyMCE…...
每日OJ题_算法_双指针②_力扣1089. 复写零
目录 力扣1089. 复写零 解析代码 力扣1089. 复写零 1089. 复写零 - 力扣(LeetCode) 难度 简单 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在…...
C++——红黑树
作者:几冬雪来 时间:2023年12月7日 内容:C——红黑树讲解 目录 前言: 红黑树的概念: 红黑树的性质: 红黑树的路径计算: 最长路径和最短路径: AVL树与红黑树的区别ÿ…...
【神化世界】asp网页500内部服务器错误的解决方法
问题解决方案记录 一、问题 在asp网页调试的时候,不小心改错了,好好的页面突然出现如下错误信息了: 二、解决方法 终于找到了问题所在,是sql语句出错造成的,特别记录一下。 正确的写法 sql"select * from mem…...
java面试题6
1.什么是Java中的泛型(Generic)? 答案:泛型是一种参数化类型的机制,在编译时提供类型安全性检查和重用代码的能力。使用泛型可以在编译时检测类型错误,并减少类型转换的需要。 2.Java中的反射(…...
(03)vite 处理 css
文章目录 系列全集vite 处理css流程vite如何解决协同开发,样式重复覆盖的问题?使用less通过配置,更改vite的css默认行为vite 利用postcss样式兼容低版本浏览器 系列全集 (01)vite 从启动服务器开始 (02&am…...
阿里云上传文件出现的问题解决(跨域设置)
跨域设置引起的问题 起因:开通对象存储服务后,上传文件限制在5M 大小,无法上传大文件。 1.查看报错信息 2.分析阿里云服务端响应内容 <?xml version"1.0" encoding"UTF-8"?> <Error><Code>Invali…...
利用JavaFX生成验证码图片
以下是一个基于 JavaFX 的验证码图片生成小程序的示例代码: import javafx.application.Application; import javafx.embed.swing.SwingFXUtils; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx…...
6-55.汽车类的继承
根据给定的汽车类vehicle(包含的数据成员有车轮个数wheels和车重weight)声明,完成其中成员函数的定义,之后再定义其派生类并完成测试。 小车类car是它的派生类,其中包含载人数passenger_load。每个类都有相关数据的输出…...
SCI论文——respectively用法
respectively用于配对两组(三组)事物,表明后一组与前一组按照相同的顺序排列,从而使句意明确。一般是在句子的最后,而且在respectively的前面需要一个逗号“,” 一 、两组事物: 原则是尽可能靠近第二组的…...
解决方案 | 法大大电子签约加速农牧业数字化进程
近年来,我国农业技术得到快速发展,并开发出一批实用的数字农业技术产品,建立了专用网络数字农业技术平台。数字农业是农业现代化的高级阶段,是创新推动农业农村信息化发展的有效手段,也是我国由农业大国迈向农业强国的…...
设计模式之GoF23介绍
深入探讨设计模式:构建可维护、可扩展的软件架构 一、设计模式的背景1.1 什么是设计模式1.2 设计模式的历史 二、设计模式的分类2.1 创建型模式2.2 结构型模式2.3 行为型模式 三、七大设计原则四、设计模式关系结论 :rocket: :rocket: :rocket: 在软件开发领域&…...
UDP协议实现群聊
服务端 import java.io.*; import java.net.*; import java.util.ArrayList; public class Server{public static ServerSocket server_socket;public static ArrayList<Socket> socketListnew ArrayList<Socket>(); public static void main(String []args){try{…...
lombok原理 @Slf4j 怎么生成get set log
Lombok是一种Java库,通过注解的方式提供了许多有用的功能,包括生成Getter、Setter、日志等。Slf4j注解是Lombok中的一种,它用于自动生成日志记录器(Logger)。 下面简要介绍一下Lombok的原理,以及Slf4j注解…...
【目标检测】进行实时检测计数时,在摄像头窗口显示实时计数个数
这里我是用我本地训练的基于yolov8环境的竹签计数模型,在打开摄像头窗口增加了实时计数显示的代码,可以直接运行,大家可以根据此代码进行修改,其底层原理时将检测出来的目标的个数显示了出来。 该项目链接:【目标检测…...
SpringBoot第56讲:SpringBoot集成文件 - 集成EasyExcel之Excel导入导出
集成EasyExcel之Excel导入导出 EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。它能让你在不用考虑性能、内存的等因素的情况下,快速完成Excel的读、写等功能。它是基于POI来封装实现的,主要解决其易用性,封装性和性能问题。本文是SpringBoot第…...
python3安装lifelines
目录 一、环境 二、安装lifelines 出现问题 三、测试导入 一、环境: jupyter notebook中新建ipynb文件 二、安装lifelines pip install --upgrade --no-deps githttps://github.com/CamDavidsonPilon/lifelines.git出现问题: 缺少模块autograd、f…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...
