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文件
编辑保存即可 ?其他配置项若自己需要更改则请谨慎操作 ??(建议不更改) ?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!