新人下载app,立即提现现金 您的好友 送你现金 去提现

粒子云使用docker搭建NextCloud

雨夜夜雨 03-15 17:04 关注

想攒一台电竞主机、家用主机、酷炫主机无从下手?想省钱又怕性能不达标?值得买帮你打造定制化DIY攒机工具自助全网比价装机,提供最适合的搭配方案,解决各种攒机场景下难题。>快快使用戳这里<

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

这篇就讲讲怎么使用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手机、电脑端都有客户端,可以自动同步照片,事件等等,许多功能可以自己慢慢摸索



展开阅读全文

查看更多好文内容,新用户限时领现金
全部评论 (10)
Kusanagi
1
03-16 02:46

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

阳光的少昊
0
04-18 16:38
黎明的小小: 感觉用docker使用nextcloud不太方便,第一是版本升级只能等容器作者从新制作容器景镜像,第二是远程访问家里的nextcloud也不太方便。 1
阳光的少昊: 好像不是的。容器更新到最新后。自己进设置再更新nextcloud 2
展开隐藏评论
祁德隆: 更新后就挂了 3

是的我也碰到过好几次。可以自己上nextcliud的官网查看手动更新的的方法。用手动方法是可以更新成功的。

祁德隆
0
04-18 14:55
黎明的小小: 感觉用docker使用nextcloud不太方便,第一是版本升级只能等容器作者从新制作容器景镜像,第二是远程访问家里的nextcloud也不太方便。 1
阳光的少昊: 好像不是的。容器更新到最新后。自己进设置再更新nextcloud 2

更新后就挂了

阳光的少昊
0
03-28 13:34

nextcloud可以拉linuxserver的镜像。不过最麻烦的是nextcloud其实要fq。否则一大堆插件都没有。

阳光的少昊
0
03-28 13:31
黎明的小小: 感觉用docker使用nextcloud不太方便,第一是版本升级只能等容器作者从新制作容器景镜像,第二是远程访问家里的nextcloud也不太方便。 1

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

CafeAlpha
0
03-19 16:05

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

雨夜夜雨
0
03-16 16:58
君名为何: 有掉盘问题吗 1

目前没遇到

君名为何
0
03-16 15:32

有掉盘问题吗

黎明的小小
0
03-16 07:23

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

绿色原谅帽子
0
03-15 21:51

打破零回复

打开App,查看更多好文和评论
最新NAS存储优惠
61预售:小米有品 小白家庭云盘 2TB
61预售:小米有品 小白家庭云盘 2TB

价格低于双十一

699元包邮(需订金10元,1日0点付尾款)
小米有品 05-26
14 29%
QNAP 威联通 TS-428 四盘位 NAS网络存储
QNAP 威联通 TS-428 四盘位 NAS网络存储

京东好评率97%

1399元包邮
京东 05-23
2 27%
猜你喜欢
查看更多
相关好价
相关商品
查看更多热门商品
社区主页 文章详情
26
115
10
你已经点过赞了
新浪微博 QQ空间 微信好友 豆瓣
当前为触屏版
热门搜索