大家好,欢迎来到IT知识分享网。
前言
自己组了台主机做服务器,正好打算部署个nas云存储服务,原本想要在上面装黑群晖,但后面发现有点鸡肋(也有可能是因为docker版的黑群晖不好用吧),用不太习惯,就决定找其他服务来使用,试用了几个不同的服务,例如:ZFile;
但后来发现 可道云 功能更多,而且还有 移动端的APP 与 PC端的客户端 可以用,这里就果断的选择了可道云,免费版限制创建10个用户够用,收费的功能也用不到,就是它了!
kodcloud (可道云) 官方的安装
但如果你想要可道云部署在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”
docker-compose -f /你yml文件所在的路径/docker-compose.yml up -d
4.可道云——启动!
在刚才所在的路径输入
./run.sh
docker ps -a
5.初始化
5-1. 浏览器 IP+:+端口 打开 kodcloud ,设置管理员账号密码
5-2. 如果你的安装有这一步那就选择 MySQL 与 redis,我这里的安装没这一步,redis如果设置“127.0.0.1” 提示 “connection refused”,那将地址修改为:“redis” 试试,如果实在是不想折腾那选择文件缓存也不是不行
5-3. 登录:
5-4. 检查缓存方式(选择使用文件缓存跳过这一步):
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 或 容器名称>
跳过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 文件传输速度测试
7.2 大文件上传失败问题
按照 官方的说法 是需要修改 上传分片大小 为5MB,原本默认是0.5MB。。。。。[老人地铁手机.jpg] 你到是给我在安装的时候就默认设置为 5MB 啊!喂!!!
无语归无语,还是要按照他们说的修改,修改完后保存,退出登录然后再重新登录(不要问我为什么要重新登录),之后再尝试一下上传 10GB 大小的视频文件没问题了,再试试比较极端的 50GB 大小测试文件,也能成功
8. END
知乎【Docker系列】私人云盘kodbox:https://zhuanlan.zhihu.com/p/
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/104869.html






