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 重启镜像  完美运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/219890.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习YoloV8的火焰烟雾检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介简介YoloV8模型火焰烟雾检测系统模型训练实时检测 应用领域 二、功能三、系统四. 总结 一项目简介 # 基于深度学习YoloV8的火焰烟雾检测系统介绍 简介 深…

【Unity3D】Android打包报错AAPT2:xxx Linkxxx

Gradle Plugin 与Gradle版本不匹配问题 或 相关依赖库下载不完全问题; 使用镜像即可解决 也可以离线(离线过于复杂 你能找到方法那最好是离线Maven) 仓库服务 找最新可用的镜像url,替换google()和jcenter(), 可以直接使用publ…

StoneDB-8.0-V2.2.0 企业版正式发布!性能优化,稳定性提升,持续公测中!

​ 11月,StoneDB 新版本如期而至,这一个月来我们的研发同学加班加点,持续迭代:在 2.2.0 版本中,我们针对用户提出的需求和做出了重量级更新,修复了一些已知和用户反馈的 Bug,同时对部分代码进行…

如何计算光伏电站的发电量?

光伏电站的发电量是衡量其性能和经济效益的关键指标。准确地预测和计算光伏电站的发电量对于投资决策、系统设计和优化至关重要。以下是一些计算光伏电站发电量的主要步骤和方法: 1、确定光伏电站的规模和配置 了解光伏电站的组件数量、类型、功率等级以及安装位置…

Win10点关机后马上又进入桌面解决方法

Win10点了关机,马上闪一下就又重新进入了桌面,关不了机怎么办?强制关机虽然是可行,但不能每一次都强制关机。下面给大家带来的win10不能关机的解决方法,希望能帮助到大家。 速印机(理想、荣大等&#xff09…

用php和mysql制作一个网站

当使用PHP和MySQL制作网站时,我们可以利用PHP的强大功能来与MySQL数据库进行交互,从而实现动态网页的创建和数据存取。下面是一个关于如何使用PHP和MySQL制作网站的简单说明,以及一些示例代码。 ​ 1、R5Ai智能助手 chatgpt国内版本 :R5Ai智…

集成测试如何做?

今天学习下如何进行集成测试。 什么是集成测试? 集成测试被定义为一种测试类型,其中软件模块在逻辑上集成并作为一个组进行测试。一个典型的软件项目由多个软件模块组成,由不同的程序员编码。此级别测试的目的是在集成这些软件模块时,暴露…

羊大师带大家探寻,南北地区冬季饮食的差异

羊大师带大家探寻,南北地区冬季饮食的差异 南北地区的冬季饮食有着明显的不同。随着气温的骤降,人们的餐桌上也逐渐变得丰盛起来。精心准备的美食不仅温暖了身心,更能带来满满的幸福感。接下来,让小编羊大师带大家一起走进南北饮…

软件测试,缺少项目实战怎么办?

解决办法 你可以进行一个简单的web测试。 以我目前的认知和经验,悄悄告诉你:政府网站大概率会有bug。 在著此文时,我随便找了个地方政府网站,点了进去。 http://www.yibin.gov.cn/en/ybsq/201905/t20190513_976652.html 大家…

猜数字游戏--数据控制流

#随机生成一个1~100之间的数字作为基准数,每次通过键盘输入一个数,如果输入数和基准数相同,则成功过关,猜中则退出游戏。 import randombase_number random.randint(1, 100) # 生成基准数guess_times 0 # 初始化猜测次数whil…

基于Python+OpenCV的车道线和车辆检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 本文将介绍如何使用Python编程语言结合OpenCV库进行车道线和车辆检测。这种技术常用于计算机视觉领域,特…

Windows使用Redis

Windows使用Redis 前言一、安装wsl2(Windows Subsystem for Linux)二、在wsl中下载并安装Redis一主二仆哨兵模式 前言 主要是记录一下,免得自己忘了。 一、安装wsl2(Windows Subsystem for Linux) Redis官网中说&…

Course2-Week1-神经网络

Course2-Week1-神经网络 文章目录 Course2-Week1-神经网络1. 神经网络概述1.1 欢迎来到Course21.2 神经元和大脑1.3 引入神经网络-需求预测1.4 神经网络的其他示例-图像感知 2. 神经网络的数学表达式2.1 单层的神经网络-需求预测2.3 前向传播的神经网络-手写数字识别 3. Tensor…

YOLOv4 学习笔记

文章目录 前言一、YOLOv4贡献和改进二、YOLOv4核心概念三、YOLOv4网络架构四、YOLOv4数据增强五、YOLOv4的损失函数总结 前言 在近年来的目标检测领域,YOLOv4的出现标志着一个重要的技术突破。YOLOv4不仅继承了YOLO系列快速、高效的特点,还引入了一系列…

【LeetCode热题100】【双指针】接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] …

数据分析师的学习之路-pandas篇(6)

接上篇,画图告一段落,现在学习表格的各种操作。 3.8 表格操作 3.8.1 表的校验 表里有些列的数据是有一定的要求的,比如说下面这个表,Score分数列,要求成绩只能是0到100,那如果有出现错误的数据&#xff0…

opencv轮廓

寻找轮廓之前需使用阈值或者canny边缘检测 找到轮廓 contours, hierarchy cv.findContours(thresh, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE) 绘制轮廓 第三个参数是轮廓的索引 cv.drawContours(img, contours, -1, (0,255,0), 3) 轮廓面积 area cv.contourArea(cnt) 轮…

很全面 影响无人机自动返航的因素总结

在无人机技术不断成熟的今天,自主返航技术成为保障飞行安全的一种重要工具。无人机在多种情况下能够智能判断,主动实施返航动作,为用户提供更加可靠的飞行保障。以下是一些常见的无人机自动返航场景,让我们深入了解这项技术背后的…

一键抠图2:C/C++实现人像抠图 (Portrait Matting)

一键抠图2:C/C实现人像抠图 (Portrait Matting) 目录 一键抠图2:C/C实现人像抠图 (Portrait Matting) 1. 前言 2. 抠图算法 3. 人像抠图算法MODNet (1)模型训练 (2)将Pytorch模型转换ONNX模型 &…

03、pytest初体验

官方实例 # content of test_sample.py def func(x):return x 1def test_ansewer():assert func(3) 5步骤解释 [100%]指的是所有测试用例的总体进度,完成后,pytest显示一个失败报告,因为func(3)没有返回5 注意:你可以使用ass…