粒子云使用docker搭建NextCloud

2020-03-15 17:04:18 29点赞 120收藏 13评论

上一篇里介绍了下怎么搭建一个文件共享服务器,以及对粒子云的一点优化

廉价轻度nas粒子云瞎折腾记录本篇适合的阅读人群计算机相关的学生,对linux初步了解的人以及爱找麻烦舍弃图形界面用命令行的人0基础的人可能看不太懂,而大佬看了估计看不上购买理由电脑里的1t机械硬盘历经5年空间也用的差不多了,另外3个sata固态也挤占完了剩余的sata口,于是需要一个轻度nas来满足存储需要。此期间考虑过小娱路雨夜夜雨| 44 评论48 收藏265查看详情

这篇就讲讲怎么使用docker搭建nextcloud

依然是纯命令行实现,适合喜欢折腾和学习的初学者阅读

NextCloud

NextCloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及 WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘

啥是docker

粒子云使用docker搭建NextCloud

docker是这几年流行的一种虚拟化技术,优点是轻巧,可移植性高,一个docker镜像由一层层的依赖镜像层搭建而成,让人不再为环境搭建耗费太多精力

与vmware、kvm这些虚拟机相比,打个比方,docker相当于让运行的进程以为自己是在一个完整的操作系统里运行,而虚拟机则是让一个操作系统以为自己是在一个物理机里运行。

安装docker

由于是cpu是arm64架构,无法直接安装docker,根据系统和架构到docker官网去下载安装包

粒子云使用docker搭建NextCloud

粒子云使用docker搭建NextCloud

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

粒子云使用docker搭建NextCloud

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

粒子云使用docker搭建NextCloud

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

粒子云使用docker搭建NextCloud

执行systemctl start docker即可启动docker服务

更换docker镜像源

为了提升docker镜像的下载速度,我们需要将docker的源修改为国内的源

粒子云使用docker搭建NextCloud

修改 /etc/docker/daemon.json 配置文件,这里使用阿里云的镜像加速服务地址,也可以使用其他的国内镜像源

{
"registry-mirrors": ["https://"]
}

Docker 官方中国区

https://registry.docker-cn.com

网易

http://hub-mirror.c.163.com

ustc

https://docker.mirrors.ustc.edu.cn

保存后执行

systemctl daemon-reload
systemctl restart docker

即可

修改docker的储存位置(可跳过)

粒子云本机只有8g的存储空间,docker带镜像就要用掉小两g空间,为了节约空间,将docker储存位置进行修改。当然,也可以跳过这一步,储存在性能较差的机械盘上会拉低docker的性能。

迁移前迁移前

这里使用比较方便的方法

先用systemctl stop docker停止docker服务

再执行下面的命令

mv /var/lib/docker /sharedfolders/docker && ln -s /sharedfolders/docker /var/lib/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是从镜像启动容器的命令

粒子云使用docker搭建NextCloud

启动mariadb的容器

docker run
--name nextcloud_mariadb
-d
-e MYSQL_ROOT_PASSWORD=123456
-e MYSQL_DATABASE=nextcloud
-e MYSQL_USER=nextcloud
-e MYSQL_PASSWORD=123456
--restart=unless-stopped
-v /sharedfolders/mariadb:/var/lib/mysql
mariadb

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

或者创建后使用docker exec -it 容器 命令进入容器进行操作

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

或者通过mysql命令进入数据库操作界面或者通过mysql命令进入数据库操作界面

启动nextcloud的容器

docker run -d --name nextcloud
-p 8088:80
--restart=unless-stopped
-v /sharedfolders/nextcloud/html:/var/www/html
-v /sharedfolders/nextcloud/data:/var/www/html/data
nextcloud

其中-p参数为端口映射,即将主机的8088端口与80端口进行映射

通过docker ps可以看到两个容器正在运行

粒子云使用docker搭建NextCloud

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

使用

docker network inspect bridge

查看相关信息,可以得到容器的ip

粒子云使用docker搭建NextCloud

nextcloud配置

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

粒子云使用docker搭建NextCloud

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

粒子云使用docker搭建NextCloud

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

当当当当

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



展开 收起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

1849元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2499元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2599元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3499元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1799元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2799元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5899元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1999元起

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

2499元起

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

4299元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3299元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

1341.01元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

1299元起
13评论

  • 精彩
  • 最新
  • 有掉盘问题吗

    校验提示文案

    提交
    目前没遇到

    校验提示文案

    提交
    收起所有回复
  • 打破零回复

    校验提示文案

    提交
  • 这个 PHP 拖拉机难用到爆,速度慢效率低不说还经常出错。一开始我因为 Seafile 国产有些抵触,现在真香。

    校验提示文案

    提交
  • 请问一下,粒子云是否支持wol?如果支持应该如何设置?系统用omv对wol有没有影响?

    校验提示文案

    提交
  • 感觉nextcloud复杂了一点就用了可道云,啥时候这货也能把插件搞得像nextcloud一样多就爽翻了

    校验提示文案

    提交
  • 群晖里搞了nextcloud和可道云kodbox两个docker,更推荐可道云,操作界面更友好,某些体验甚至超越群晖了

    校验提示文案

    提交
  • 感觉用docker使用nextcloud不太方便,第一是版本升级只能等容器作者从新制作容器景镜像,第二是远程访问家里的nextcloud也不太方便。

    校验提示文案

    提交
    好像不是的。容器更新到最新后。自己进设置再更新nextcloud

    校验提示文案

    提交
    更新后就挂了

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • nextcloud可以拉linuxserver的镜像。不过最麻烦的是nextcloud其实要fq。否则一大堆插件都没有。

    校验提示文案

    提交
  • 很奇怪你们为啥不用宝塔面板,宝塔面板+可道云kodbox,里面有应用直接一键安装,5分钟搞定,体验还比nextcloud更好

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
120
扫一下,分享更方便,购买更轻松