APP下载 微博 微信

Hao4K影音


[矿机|云盘] 粒子云使用docker搭建NextCloud

[复制链接]

发表于 2020年03月15日 17:04 27682 2 来源:媒体存储> 矿机|云盘 回帖奖励 |倒序浏览 |

YuYeY 帖主

2020-3-15 17:04

上一篇里介绍了下怎么搭建一个文件共享服务器,以及对粒子云的一点优化
这篇就讲讲怎么使用docker搭建nextcloud
依然是纯命令行实现,适合喜欢折腾和学习的初学者阅读
NextCloud
NextCloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及 WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘。
啥是docker

docker是这几年流行的一种虚拟化技术,优点是轻巧,可移植性高,一个docker镜像由一层层的依赖镜像层搭建而成,让人不再为环境搭建耗费太多精力
与vmware、kvm这些虚拟机相比,打个比方,docker相当于让运行的进程以为自己是在一个完整的操作系统里运行,而虚拟机则是让一个操作系统以为自己是在一个物理机里运行。
安装docker
由于是cpu是arm64架构,无法直接安装docker,根据系统和架构到docker官网去下载安装包



根据系统版本和架构进入debian/dists/stretch/pool/stable/arm64/

在docker-ce、docker-ce-cli、containerd.io中各选一个版本使用wget下载至本地

使用dpkg命令安装相应的安装包(如果一个个装的话docker-ce要最后安装,依赖于其他两个包)


执行systemctl start docker即可启动docker服务
更换docker镜像源
为了提升docker镜像的下载速度,我们需要将docker的源修改为国内的源

修改 /etc/docker/daemon.json 配置文件,这里使用阿里云的镜像加速服务地址,也可以使用其他的国内镜像源
保存后执行
即可
修改docker的储存位置(可跳过)
粒子云本机只有8g的存储空间,docker带镜像就要用掉小两g空间,为了节约空间,将docker储存位置进行修改。当然,也可以跳过这一步,储存在性能较差的机械盘上会拉低docker的性能。

迁移前
这里使用比较方便的方法
先用systemctl stop docker停止docker服务
再执行下面的命令
mv为移动(剪切粘贴)命令,/var/lib/docker是docker默认安装的目录,/sharedfolders是你添加的硬盘挂载的目录
ln是一个建立链接的命令,参数-s为软链接,这里是将移动后的目录在原位置建立一个软链接(类似windows的快捷方式)

已成为了链接文件

迁移后
下载镜像
docker pull images即可下载相应镜像。images为指定镜像名,不加其他的话则直接下载latest版本(镜像源中最近的版本)
这一步也可以跳过,后面执行docker run的时候若是在本地找不到指定镜像,就会先从默认镜像源搜索下载指定镜像
nextcloud支持sqlite,mysql/mariadb,PostgreSQL,sqllite过于轻度,nextcloud有些功能不支持,这里我们选择mariadb(mysql和mariadb其实是基本一样的,这里有一些历史原因)。
这里我们需要两个镜像,mariadb和nextcloud

可以看到会下载许多依赖层
启动容器与配置
可以在启动时直接配置容器环境变量,或者启动后再进行修改
docker run是从镜像启动容器的命令

启动mariadb的容器
其中 --name参数为自定义的启动后容器的名字;-d为后台运行容器,并返回容器ID;-e参数为容器启动的环境变量,这里四项分别为管理员密码,数据库名,用户名,用户密码;--restart 重启策略,为unless-stopped时在容器退出时总是重启,但不考虑Docker守护进程启动时就已经停止的容器;-v 挂载主机的本地目录 /sharedfolders/mariadb 目录到容器的/var/lib/mysql 目录,必须是绝对路径,此处为了映射数据库文件地址。最后mariadb为指定镜像。
或者创建后使用docker exec -it 容器 命令进入容器进行操作

通过bash可以进入容器命令行

或者通过mysql命令进入数据库操作界面
启动nextcloud的容器
其中-p参数为端口映射,即将主机的8088端口与80端口进行映射
通过docker ps可以看到两个容器正在运行

docker安装时会产生一个叫docker 0的linux bridge(一个虚拟网桥),不对--network参数进行指定的容器默认都会挂在这上面。通过bridge容器间可以进行网络连通
使用
查看相关信息,可以得到容器的ip

nextcloud配置
我们之前将nextcloud容器的80端口映射到了主机的8088端口,所以就可以通过这个端口进行访问,来到了nextcloud初始界面

选择mysql/mariadb这一项,进行相应填写,数据库的ip即之前看到的容器的内部ip,两个容器通过一个网桥连通,所以网络可直达,mysql/mariadb的默认端口为3306

点击安装完成后就会开始自动配置,等待几分钟后即可

当当
nextcloud手机、电脑端都有客户端,可以自动同步照片,事件等等,许多功能可以自己慢慢摸索
回复

使用道具 举报

全部回复2

奔着来的 2

2020-3-15 17:36

现在网速那么快乐 为啥用docer呀 直接用电脑全解决
回复 支持 反对

使用道具 举报

奔着来的 3

2020-3-15 17:36

学习成本有点高呀。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则



绑定微信 + 关注公众号,第一时间获得消息通知!
:
新手玩家
:
介绍未填写

主题

帖子

积分7

图文推荐

  • 家庭NAS+HTPC组建及注意事项(一)(内网穿

    原创篇一:家庭NAS+HTPC组建及注意事项(一)(内

  • 搭建私有云—华芸AS6404T NAS+华硕 AC68U体

    帮朋友搭建私有云—华芸AS6404T NAS+华硕 AC68U体

  • 小量的影视、音频存储方案之我见

    最近,一块使用了近十年的4T移动硬盘挂了(曾被摔

  • 科普:什么是硬盘MTBF?那MTTF、MTTD、MTTR

    买固态硬盘,我们会比较关注颗粒寿命,机械硬盘虽

  • 入了极空间,从黑群晖到极空间谈谈区别

    之前用过黑群晖,现在改了极空间 1、为什么从

  • 机械硬盘该怎么选?教你最全机械硬盘选购指

    机械硬盘该怎么选?教你最全机械硬盘选购指南

  • 极空间挂载阿里云、115、百度、夸克等20个

    理论上使用如下教实现程极空间可以挂载阿里云网盘

  • 红米AC2100刷Padavan固件超全详细教程

    刷机全过程图解 准备工作这部分,网上教程几乎都

  • NAS都有哪些品牌?带你了解几大NAS名牌介绍

    NAS都有哪些品牌?带你了解几大NAS名牌介绍 前

  • 群辉加USB3.0千兆网卡成功,教程分享

    具体安装替换参考此贴https://www.hao4k.cn/threa

  • Hao4K影音app客户端下载