将ubuntu设置为NAS——6. 私人网盘nextcloud安装(下)(docker下安装nextcloud)

2019-11-09 17:18:08 68点赞 1028收藏 33评论

前言的前言

想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前写了5篇

将ubuntu设置为NAS——1. Transmission-daemon安装前言之前看大妈这边的文章先是入手了一台暴风酷播云,然后折腾着又入手了一台C单的蜗牛星际主机,尝试了许多不同的系统,安装过黑群晖,u-nas,OpenMediaVault(OMV),windows10系统,windowsserver2019,ubuntu,deepin,这些一路折腾一下,算是涨了些知识杨某人| 15 评论8 收藏96查看详情将ubuntu设置为NAS——2. 新增硬盘挂载前言想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前写了一篇《将ubuntu设置为NAS——1.Transmission-daemon安装》我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云主板J3455,电源是暴风酷播云的台达电源,硬盘是一块固态硬盘杨某人| 11 评论6 收藏100查看详情将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上)前言的前言想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前写了2篇《将ubuntu设置为NAS——1.Transmission-daemon安装》《将ubuntu设置为NAS——2.新增硬盘挂载》我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云主板J杨某人| 8 评论12 收藏79查看详情将ubuntu设置为NAS——3. 私人网盘nextcloud安装(中)前言的前言想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前写了2篇《将ubuntu设置为NAS——1.Transmission-daemon安装》《将ubuntu设置为NAS——2.新增硬盘挂载》我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云主板J杨某人| 57 评论44 收藏633查看详情将ubuntu设置为NAS——5. docker与docker-compose的安装前言的前言想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前已写了4篇,欢迎参看打赏。我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云华擎主板J3455,电源是暴风酷播云的台达电源,硬盘是一块固态硬盘,3块1T的机械硬盘,原蜗牛星际背板拆除,电源与数据杨某人| 55 评论64 收藏818查看详情

我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云华擎主板J3455,电源是暴风酷播云的台达电源,硬盘是一块固态硬盘,3块1T的机械硬盘,原蜗牛星际背板拆除,电源与数据线直接接硬盘的方式。软件层面主要是用Kubuntu18.04系统(ubuntu其他风味版,和原版功能上没有太大区别),安装了Transmission-daemon用于下载,nextcloud用于网络硬盘,kvm作为虚拟机开软路由,还有其他一些简单功能,基本实现NAS的作用。后面我将慢慢分享其中的过程,作为小白,很多都是自己参考网上根据其他作者文章,再自己摸索实践出来,如有谬误,请各位指正,大家共同学习。后面涉及的命令行都是在ubuntu终端(不要问我终端是什么 )中输入,请大家注意。

正式的前言

将ubuntu设置为NAS——5. docker与docker-compose的安装》上篇介绍了docker与docker-compose就是为了本篇利用docker安装nextcloud。还是强调一下,请不要使用windows下docker桌面版尝试,可以虚拟机安装Ubuntu后再安装docker进行试验。本文部分内容参考官方文档

什么值得上发文,部分代码中的空格可能在发布后被编辑吃掉,如出现这样问题,请检查空格是否有遗漏

1、 docker安装nextcloud

简单介绍一下,其实不需要使用此方法。重点看 2、docker-compose安装nextcloud。

docker run -d -v nextcloud:/var/www/html nextcloud

-d :后台安装方式

-v nextcloud:/var/www/html :将docker内 /var/www/html 目录挂载到 Ubuntu主机根目录文件目录 nextcloud

最后nextcloud 是指明docker下载安装的镜像为nextcloud

这里是docker安装nextcloud并设置了主机挂载目录,它需要运行的php环境也在nextcloud镜像内设置好,但不包括数据库,还要安装MySQL / MariaDB,当然还有其他数据库可选,在nextcloud设置界面可选(SQLite默认数据库不用设置,但性能可能有问题),这里举了MySQL / MariaDB例子。

docker run -d -v db:/var/lib/mysql mariadb

然后进入docker内的数据库进行设置,进入不同容器并打开各容器的终端的命令如下

docker exec -it CONTAINER_ID bash

其中CONTAINER_ID对应不通过容器的ID,可以通过docker ps 查询。进入容器后操作与普通的Ubuntu终端是一样的。具体数据库设置,详见将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上)。本小节不是重点就不多介绍了。

2、docker-compose安装nextcloud

2.1 docker-compose.yml文件

用docker-compose安装,可以批量docker安装nextcloud,mariadb,并同时设置文件夹挂载位置,关联数据库名称和密码,非常便捷好用。只要明白相关设置的方法和意思就能自行设置了,下面结合官方的docker-compose文件代码简单解释相关的意思。

官方文档内,相关docker-compose文件(仅介绍,不直接用)

version: '2'

#docker-compose模版文件格式,有1,2,3等,1逐渐弃用,这里用2,具体参看https://docs.docker.com/compose/compose-file/


volumes:

#卷挂载路径设置。可以设置宿主机路径,(主机路径:容器路径)将容器存储挂载到主机路径存储


nextcloud:

#主机路径为nextcloud,没有则自动创建

db:

#主机路径为db,没有则自动创建


services:

db:

image: mariadb

#指定镜像mariadb,没有则自动pull

command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW

#覆盖容器启动后默认执行的命令。

restart: always

#每次运行docker-compose,都重启db容器

volumes:

- db:/var/lib/mysql

#容器内路径文件/var/lib/mysql挂载到外部主机路径文件目录db

environment:

#设置环境变量

- MYSQL_ROOT_PASSWORD=

#设置数据库mysql的root密码

- MYSQL_PASSWORD=

#设置数据库mysql的密码

- MYSQL_DATABASE=nextcloud

#设置数据库mysql的数据表nextcloud

- MYSQL_USER=nextcloud

#设置数据库mysql的用户名nextcloud


app:

image: nextcloud

#指定镜像nextcloud,没有则自动pull

ports:

#端口设置

- 8080:80

#设置主机与容器的端口映射

links:

#链接到其它服务中的容器

- db

#链接到db数据库容器

volumes:

- nextcloud:/var/www/html

#容器内路径文件/var/www/html挂载到外部主机路径文件nextcloud

restart: always

#每次运行docker-compose,都重启nextcloud容器

将上面的代码,删掉#相关解释的内容给,MYSQL_ROOT_PASSWORD 和 MYSQL_PASSWORD设置相关的密码,另存为名为docker-compose.yml的文件,存放在Ubuntu的文件夹内,然后在Ubuntu终端进入到存放文件夹,再输入命令

docker-compose up -d

上面的设置相对还是简单,但还缺少nextcloud关联mariadb数据库的设置,需要在首次进入nextcloud界面进行设置,还是不够简便,下面在重点介绍我目前在用的

version: '2'

services:

nextcloud-db:

image: mariadb

container_name: nextcloud-db

command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW

volumes:

- /docker/nextcloud/db:/var/lib/mysql

environment:

- MYSQL_ROOT_PASSWORD=改成你自己定义的数据库root密码

- MYSQL_PASSWORD=改成你自己定义的数据库密码

- MYSQL_DATABASE=nextcloud

- MYSQL_USER=nextcloud

restart: always


nextcloud:

image: nextcloud

container_name: nextcloud-web

ports:

- 8888:80

environment:

- UID=1000

- GID=1000

- UPLOAD_MAX_SIZE=5G

- APC_SHM_SIZE=128M

- OPCACHE_MEM_SIZE=128

- CRON_PERIOD=15m

- TZ=Aisa/Shanghai

- NEXTCLOUD_ADMIN_USER=改成你的nextcloud管理员账户

- NEXTCLOUD_ADMIN_PASSWORD=改成你要设置的nextcloud管理密码

- NEXTCLOUD_TRUSTED_DOMAINS="*.*.*.*"

- MYSQL_DATABASE=nextcloud

- MYSQL_USER=nextcloud

- MYSQL_PASSWORD=改成你需要的数据库密码,与上面设置的一样

- MYSQL_HOST=nextcloud-db

volumes:

- /docker/nextcloud:/var/www/html

restart: always


在使用docker-compose时候,大家务必关注-和它后面的空格及各符号前面空格,它对文件格式校验比较严格,缺少这2个符号或者多了,都有可能出错或者无法运行。请注意上面文件还出现的汉字,请改成你自己定义的名称,还有名称,如果你已经理解了,可以自行修改。其中 UPLOAD_MAX_SIZE=5G,设置最大单个文件上传大小限制在5G,您可以自行设置。APC_SHM_SIZE,OPCACHE_MEM_SIZE是关于网页缓存设置,如果网页打开卡,可以选择设置大一点,不过这个默认值应该是足够大了。

直接在Ubuntu主机上,大家可以浏览器查看代码,新建docker-compose.yml文件,复制代码保存。当然还有更简单的,就是开启Ubuntu的SSH服务,利用WinSCP远程登入,端口选择22,地址填Ubuntu主机地址,然后就可以在自己主力PC编辑好docker-compose.yml文件,然后用WinSCP上传到Ubuntu主机。主机PC上也可以使用PUTTY软件,远程SSH,就能用终端的方式远程操作Ubuntu。

至于如何开启SSH,这个比较简单,大家可以百度,我后续也会再介绍分享。

远程上传docker-compose.yml文件远程上传docker-compose.yml文件

我是在自己win10电脑上,编辑好docker-compose.yml文件,上传到Ubuntu主机的桌面位置,大家可以自行选择文件位置,注意选择当前Ubuntu用户权限的文件夹,不要传到root用户文件夹,可能会有权限问题,传不进去。

2.2 docker-compose安装

我是用PUTTY远程进入Ubuntu主机,也可以直接在Ubuntu终端输入命令

cd /home/yang/桌面 #进入docker-compose.yml文件目录

开始安装吧,-d为后台安装方式,不加-d,整个安装过程会全部展示,比较乱。如果是为检查错误,可以不加。

不加的话,可以用ctrl+c退出安装过程。

docker-compose up -d

开始安装开始安装

之前有值友反应docker下载镜像会比较慢,目前我自己用电信200M宽带,整个下载安装过程花费36分钟,部分文件下载速度比较慢,但这个整体时间其实可能接受,比起snap安装方式nextcloud(估计10个小时),好多了。如果你自己有梯子,估计速度会更好。

安装完成安装完成

安装完成后,等待2-3分钟后,开始尝试登陆,地址是Ubuntu主机地址,端口是docker-compose.yml设置的8888,显示界面没有数据库设置与选择了,直接输入自己设置的nextcloud网盘管理员账户和密码登陆,大概等1-2分钟自动配置,就能看到欢迎界面了。

尝试登陆尝试登陆

相关文件其实是挂载在Ubuntu主机根目录docker文件夹下,您也可以发现这个文件夹是在docker-compose安装nextcloud过程中新出现的。相关存储文件目录和数据库目录,如果您要备份nextcloud数据,请重点关注这2个目录,为了安全默认对应用户是www-data。

将ubuntu设置为NAS——6. 私人网盘nextcloud安装(下)(docker下安装nextcloud)

2.3 可能出现的问题

如果你的docker-compose.yml里面代码修改过,安装完成后设置过程中,发现nextcloud网页提示

Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [2002] Connection refused

说明可能自动设置失败,提示无法连接数据库,或无法找到数据库,就是docker-compose.yml中下面的值

container_name: nextcloud-db

- MYSQL_HOST=nextcloud-db

设置有问题,请检查对应问题,或者手动设置。

将ubuntu设置为NAS——6. 私人网盘nextcloud安装(下)(docker下安装nextcloud)

总结

本篇重点介绍了docker安装nextcloud的过程,重点是docker-compose安装方式,请重点记住这个命令。

docker-compose up -d #安装并运行docker-compose.yml

docker-compose stop #停止docker-compose.yml对应的服务

利用了docker-compose,其实用设置好的docker-compose.yml就可以在其他地方或再重装系统后,简单的复制安装设置过程,大大简化了安装的难度,非常推荐。

参考

官方文档:https://github.com/nextcloud/docker




展开 收起

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

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

1849元起

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

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

1796元起

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

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

2599元起

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

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

3549元起

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

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

1999元起

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

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

2599元起

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

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

5999元起

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

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

2899元起

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

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

2179元起

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

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

2849元起

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

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

1349元起

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

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

3199元起

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

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

3899元起

sgwbox 拾光坞 N3 星光版V(瑞芯微RK3566,2G,支持docker)

sgwbox 拾光坞 N3 星光版V(瑞芯微RK3566,2G,支持docker)

387.8元起

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

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

1299元起

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

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

2190.84元起
33评论

  • 精彩
  • 最新
  • nextcloud的存储逻辑导致未来迁移是个麻烦事,不管是迁入还是迁出,用了一阵弃用的

    校验提示文案

    提交
    应该不会吧,只要备份nextcloud的data和db文件,就能迁出了,数据本身也不加密。下篇我将分享一下nextcloud的升级,涉及到数据备份,到时可以讨论一下。而且还可以通过外挂存储路径,也能进行迁移。

    校验提示文案

    提交
    收起所有回复
  • ubuntu这个渣渣系统稳定性太差,推荐换centos7

    校验提示文案

    提交
    目前运行情况还是比较稳定的,还是比较适合我这种小白的。之前用Ubuntu桌面版偶有有提示错误的问题,换了Kubuntu后就好了。

    校验提示文案

    提交
    现在停止维护啦已经

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 老铁出个Leanote的吧,我自己捣鼓了两天,成功了,刚得瑟一会,电脑重启完蛋了。。。活几天一忙就没心劲了,哎

    校验提示文案

    提交
    以前用树莓派折腾过,但leanote开源版好像不维护了,使用中也有不方便感觉,后来也没持续用。值得买上也有人搭建的文章,您可以搜一下,也可以试试搭建最近开放的docker版为知笔记

    校验提示文案

    提交
    好滴
    时间真是个好东西 哎 ~

    校验提示文案

    提交
    收起所有回复
  • 这种文章建议还是发到 少数派这种

    校验提示文案

    提交
    很好的建议,谢谢您,本意还是分享和赚点金币

    校验提示文案

    提交
    收起所有回复
  • 这么折腾,freenas不好么。。。本身就可以在jail里安装各种插件

    校验提示文案

    提交
    恩,挺好的,之前试过OMV,界面简洁,也能安装各种服务,就是感觉不太习惯,有些设置感觉也不够清晰,毕竟我是小白,就没在上面折腾。

    校验提示文案

    提交
    收起所有回复
  • 收藏退出,一气呵成 [皱眉]

    校验提示文案

    提交
  • 这么好的帖子没人留言那

    校验提示文案

    提交
  • 顶一个,从第一篇看到第六篇,现在晚上带小孩根本没时间折腾,怀念以前折腾的岁月

    校验提示文案

    提交
  • ubuntu我觉得还是太慢,一直用debian。这种文章虽然好,但受众还是少,能折腾linux的人不多啊

    校验提示文案

    提交
  • 能不能继续出个教程 集成office功能?

    校验提示文案

    提交
    我也是公司内部用,因为外网没有开入443跟80所以不知道 怎么集成,是自己塔在宝塔上。

    校验提示文案

    提交
    收起所有回复
  • 官方 dockerhub 拉镜像慢的,推荐我老东家 Daocloud 的镜像,daocloud 官网 - 加速器,里面有 registry 链接,速度和稳定性都还阔以 [黑线]

    校验提示文案

    提交
    换成dokcer cn的域名就好了,docker官网有介绍的

    校验提示文案

    提交
    emmm... 对, 但个人觉得速度和稳定性一般, 国内能打的也就 Daocloud 阿里云 这些个云厂商了

    校验提示文案

    提交
    收起所有回复
  • 一直不敢折腾,怕自己停不下来

    校验提示文案

    提交
  • 在这都能看到docker [小眼睛] [小眼睛]

    校验提示文案

    提交
  • 我貌似看到docker安装的,升级软件都有一定困难,需要删除镜像再拉新镜像,感觉有点繁琐。所以一直没下决心弄

    校验提示文案

    提交
  • 不明觉厉 紫薯布丁

    校验提示文案

    提交
  • 正好最近在学习Docker,感谢楼主分享。学习了

    校验提示文案

    提交
  • 技术贴,紫薯布丁

    校验提示文案

    提交
  • 感谢分享。对于懒人,我还是喜欢群晖。。。或者威联通

    校验提示文案

    提交
  • 点赞收藏打赏退出一气呵成

    校验提示文案

    提交
  • 在飞讯n1上安装过,但是发现发热很厉害,而且外接硬盘不能休眠

    校验提示文案

    提交
提示信息

取消
确认
评论举报

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

相关文章推荐

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