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…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
Python环境安装与虚拟环境配置详解
本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南,适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者,都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...
未授权访问事件频发,我们应当如何应对?
在当下,数据已成为企业和组织的核心资产,是推动业务发展、决策制定以及创新的关键驱动力。然而,未授权访问这一隐匿的安全威胁,正如同高悬的达摩克利斯之剑,时刻威胁着数据的安全,一旦触发,便可…...
Java设计模式:责任链模式
一、什么是责任链模式? 责任链模式(Chain of Responsibility Pattern) 是一种 行为型设计模式,它通过将请求沿着一条处理链传递,直到某个对象处理它为止。这种模式的核心思想是 解耦请求的发送者和接收者,…...
