docker部署kodcloud (可道云) 存储服务过程及注意事项

前言

自己组了台主机做服务器,正好打算部署个nas云存储服务,原本想要在上面装黑群晖,但后面发现有点鸡肋(也有可能是因为docker版的黑群晖不好用吧),用不太习惯,就决定找其他服务来使用,试用了几个不同的服务,例如:ZFile;
但后来发现 可道云 功能更多,而且还有 移动端的APP 与 PC端的客户端 可以用,这里就果断的选择了可道云,免费版限制创建10个用户够用,收费的功能也用不到,就是它了!




kodcloud (可道云) 官方的安装

如果你没任何要求,安装方式随意那就按照官方的方式来吧。
想按照官方的安装方式参考官方文档:https://docs.kodcloud.com/setup/1/
安装到宿主机,部署这个服务需要配置:nginx 1.22、php 8.0、MySQL 8.0、redis 7.0等,然后,,然后就参考官方文档吧 (我没试过) 。。
有宝塔面板就更方便了,有环境后软件商店直接搜索kodcloud ,点击安装;或者是宝塔的 Docker 菜单面板中点击一键部署。

但如果你想要可道云部署在Docker上,并且数据库使用宿主机的MySQL,那你可以接着往下看:





Docker 自定义部署 kodcloud (可道云)

1.创建数据库

我现在已经在服务器上安装了 MySQL5.7,当然了更高的版本应该也是可以用的,创建一个空数据库来存放 kodcloud 的数据,名字随意了,例如我的数据库名就叫 kodbox 。


2.拉取官方最新版本镜像

接下来要拉取官方的最新镜像(老版本我试过可能无法跑满局域网的千兆),官方镜像点击这里,执行拉取镜像命令:

docker pull kodcloud/kodbox

不指定版本默认拉取最新版本镜像,拉取成功后查看一下镜像是否拉取成功:

docker images

有这条就对了

REPOSITORY             TAG                 IMAGE ID       CREATED         SIZE
kodcloud/kodbox        latest              8e0d62efa742   2 weeks ago     494MB

或者是用这个插件查询
在这里插入图片描述


3.创建配置文件

确定好你要创建项目的路径,就比如说我的路径创建在 /app/kodbox 下,在这个目录下创建文件 “docker-compose.yml”,内容大致如下 (注意空格):

version: "3.5"

services:
  app:
    image: kodcloud/kodbox
    ports:
      - 5000:80        #左边 5000 是主机访问端口,可按需修改
    links:
      - redis
    environment:
      - "TZ=Asia/Shanghai"
      - "MYSQL_SERVER=数据库地址"       		#数据库ip
      - "MYSQL_PORT=数据库端口"         		#数据库端口
      - "MYSQL_DATABASE=数据库名称"          #数据库名称
      - "MYSQL_USER=数据库用户名"			#数据库用户名
      - "MYSQL_PASSWORD=数据库密码"			#数据库密码
      - "SESSION_HOST=redis"				#Redis使用Docker创建的
    volumes:
      - "/app/kodbox/data:/var/www/html"    #左边 /app... 代表kodbox宿主机持久化所在目录位置
    restart: always

  redis:
    image: redis:alpine
    environment:
      - "TZ=Asia/Shanghai"
    restart: always

(不推荐)如果你不想折腾用redis做缓存,想直接用文件缓存的方式,那问题也不大,就删除services.redis及以下的内容、删除services.app.links、删除 - “SESSION_HOST=redis”

以上的内容根据自己的需求去修改。
为了启动方便在同个目录下创建个启动文件 “run.sh”,内容为:

docker-compose -f /你yml文件所在的路径/docker-compose.yml up -d

4.可道云——启动!

在刚才所在的路径输入

./run.sh

启动。
初次启动可能较慢,耐心等待。。。
接着可以输入

docker ps -a

查看已运行的容器
在这里插入图片描述
看到一个可道云以及一个redis那就对了。







5.初始化

5-1. 浏览器 IP+:+端口 打开 kodcloud ,设置管理员账号密码

在这里插入图片描述
在这里插入图片描述



5-2. 如果你的安装有这一步那就选择 MySQL 与 redis,我这里的安装没这一步,redis如果设置“127.0.0.1” 提示 “connection refused”,那将地址修改为:“redis” 试试,如果实在是不想折腾那选择文件缓存也不是不行

在这里插入图片描述

5-3. 登录:

在这里插入图片描述

5-4. 检查缓存方式(选择使用文件缓存跳过这一步):

因为我这里初次安装的时候没让我选择缓存方式,所以大概率默认是文件缓存,点击左边的桌面 →找到系统设置→服务器管理→缓存切换
在这里插入图片描述
我就知道,至于为什么会这样我也不太清楚,总之修改为redis,在这里我之前踩了一个坑,当我ip填写为 “127.0.0.1” 就会报错 “connection refused”,看了下官方文档才想到要填写 yml 配置文件中 link 的“redis”
在这里插入图片描述
在这里插入图片描述




6.修改文件存储路径

(没需求可以跳过这一步)
我的主机硬盘配置是一个固态硬盘做系统盘,几个氦气机械盘做仓库盘,所以我希望将 docker 与 宿主机 间的项目文件留在固态盘,存储文件全放在机械盘上;
如果你有与我类型的需求但又怕麻烦,可以在 “3.创建配置文件” 的步骤中直接将项目放入到机械盘挂载的目录内,其实这样问题也不大;但我就要折腾一下 。

6-1. 确认存储路径

首先要确认你的 项目所在地文件存储所在地,例如我的项目在 (固态盘) /app/kodcloud 下,存储在(机械盘) /data/files 下,记得授权目录权限,最好是777,可执行:chmod 777 /文件夹路径

6-2-1. 修改存储路径 (方法1)

在 “docker-compose.yml” 文件的 services.app.volumes 中添加存储映射路径,例如将宿主机的 /data/files 挂载到 Docker 的 /df 目录:

- "/data/files:/df"

停止容器,删除容器

docker rm -f <容器ID 或 容器名称>

./run.sh 重新启动
系统设置 → 存储管理 → 修改配置 → 修改存储目录为刚才设置的 /df → 保存
在这里插入图片描述
在这里插入图片描述
上传文件试试,然后到宿主机看看文件是否存储在自己的指定位置
在这里插入图片描述





跳过6-2-2、方法2使用后文件传输存在问题,暂时不推荐!!!

6-2-2. 修改存储路径 (方法2)

方法2使用后文件传输存在问题,暂时不推荐!!!

方法1稍微简单点,方法2比较麻烦:

6-2-2-1. 存储路径确认

还是一样要先确定文件希望存储在哪个路径,例如我希望我的文件都存储在宿主机的 /data/files 下,先创建好文件夹;

6-2-2-2. 查找宿主机的 原 文件存储路径

接下来需要了解的一点是 kodcloud 在 Docker 中的项目路径为 /var/www/html;文件存储路径为 /var/www/html/data/files;所以根据 “docker-compose.yml” 配置文件中的

    volumes:
      - "/app/kodbox/data:/var/www/html"

可以确定对应宿主机的文件存储路径为:/app/kodbox/data/data/files;当然了你前面设置的映射路径可能跟我的不一样,所以根据自己的实际情况来判断。

6-2-2-3. 移动原存储文件到新的路径

下一步先 停止容器,删除容器,将 files 中的所有文件 复制 / 移动 到 前面确定存储位置的文件夹下,例如我的文件都要移动到 /data/files 下。

方法2使用后文件传输存在问题,暂时不推荐!!!

6-2-2-4. 建立软链接

接着让我们回到 /app/kodbox/data/data 目录(以自己实际目录为准),删除files目录,建立软链接名称为:files,指定路径为 /data/files ;宝塔很创建软链接很方便 在这里插入图片描述
如果没有宝塔就执行命令(命令行内容根据自己的实际情况修改):

ln -s /data/files files

方法2使用后文件传输存在问题,暂时不推荐!!!

6-2-2-5. 修改 容器配置文件 再启动

接下来修改 “docker-compose.yml” 配置文件,在 services.app.volumes 中添加存储映射路径,因为刚才我将 /app/kodbox/data/data 中的 files 改到了 /data/files,也就是说容器中的 /var/www/html/data/files 现在对应的宿主机路径是 /data/files;容器映射路径也需要添加配置,否则会无法访问路径,所以添加以下内容在 services.app.volumes 中:

      - "/data/files:/var/www/html/data/files"

./run.sh 启动容器。
然后也是上传文件试试,到宿主机看看文件是否存储在自己的指定位

方法2使用后文件传输存在问题,暂时不推荐!!!






7. 测试体验

7.1 文件传输速度测试

现在也算是 安装、配置 完成了,局域网传个大文件试试看能否跑满千兆的速度
在这里插入图片描述
也算是跑满了千兆的网速,挺好的,顺便提醒一下如果你的局域网无法跑满速,但是其他传输文件的方式可以跑满速,那可能是版本问题,之前我装过1.3.*版本 速度无法达到极限

7.2 大文件上传失败问题

如果你前面上传大文件 (超过4GB) 都没问题,那就跳过这里。
真的是无语了,没想到还遇到这个问题,传个2GB不到的文件显示上传失败,
(413 Request Entity Too Large)错误截图如下所示:
在这里插入图片描述
在这里插入图片描述

按照 官方的说法 是需要修改 上传分片大小 为5MB,原本默认是0.5MB。。。。。[老人地铁手机.jpg] 你到是给我在安装的时候就默认设置为 5MB 啊!喂!!!

在这里插入图片描述

无语归无语,还是要按照他们说的修改,修改完后保存,退出登录然后再重新登录(不要问我为什么要重新登录),之后再尝试一下上传 10GB 大小的视频文件没问题了,再试试比较极端的 50GB 大小测试文件,也能成功

在这里插入图片描述






8. END

到这里为止算是安装结束了,其中也踩了不少的坑,回过头来再看看这篇文章好像写的内容有的复杂了,就当做是踩坑记录吧。我在文章的末尾放了很多的友情链接,如果有疑问可以查看。
接下来剩下的功能:包括 移动APP端 及 PC客户端 的使用 就留给大家自己去体验吧。














友情链接:
kodcloud (可道云) 官网:https://kodcloud.com
kodcloud (可道云) 官方操作文档:https://docs.kodcloud.com/setup
kodcloud (可道云) 官方Docker镜像:https://hub.docker.com/r/kodcloud/kodbox
kodcloud (可道云) 官方GitHub:https://github.com/kalcaddle/kodbox
kodcloud (可道云) 官方论坛:https://bbs.kodcloud.com
kodcloud 存储设置及磁盘RAID阵列管理:https://docs.kodcloud.com/guide/1.1

知乎【Docker系列】私人云盘kodbox:https://zhuanlan.zhihu.com/p/606724405

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值