go-fastfds部署心得

2023-12-13 03:47:22

我是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文件

编辑保存即可 ?其他配置项若自己需要更改则请谨慎操作 ??(建议不更改) ?

文章来源:https://blog.csdn.net/qq_58778333/article/details/134815388
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。