将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 四盘位NAS存储 (赛扬N5105、8GB)

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

1792元起

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

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

2179元起

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

2049元起

ZSpace 极空间 Z4 4盘位 NAS存储 黑色 (J4125 8GB)

ZSpace 极空间 Z4 4盘位 NAS存储 黑色 (J4125 8GB)

2584元起

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

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

2190.84元起

QNAP 威联通 TS-453Dmini 4盘位NAS(J4125、8GB)

QNAP 威联通 TS-453Dmini 4盘位NAS(J4125、8GB)

暂无报价

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

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

3599元起

极空间私有云Z4Pro 性能版 8核16G内存 四盘位Nas网络存储服务器家庭个人云【配4T希捷酷狼硬盘】珍珠白

极空间私有云Z4Pro 性能版 8核16G内存 四盘位Nas网络存储服务器家庭个人云【配4T希捷酷狼硬盘】珍珠白

4299元起

TERRAMASTER 铁威马 F4-424 四盘位 NAS存储(Intel Celeron N95、8GB)黑色

TERRAMASTER 铁威马 F4-424 四盘位 NAS存储(Intel Celeron N95、8GB)黑色

2499元起

HUAWEI 华为 新品华为家庭存储nas家用网络存储主机扩容储存备份文件同步共享

HUAWEI 华为 新品华为家庭存储nas家用网络存储主机扩容储存备份文件同步共享

1999元起

QNAP 威联通 TS-453Bmini 4盘位NAS(J3455、4GB)

QNAP 威联通 TS-453Bmini 4盘位NAS(J3455、4GB)

1899元起

QNAP 威联通 TS-212P3 双盘位NAS(Realtek RTD1295、1GB)

QNAP 威联通 TS-212P3 双盘位NAS(Realtek RTD1295、1GB)

799元起

HIKVISION 海康威视 Mage20 2盘位NAS (4GB)

HIKVISION 海康威视 Mage20 2盘位NAS (4GB)

567元起

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

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

1846元起

QNAP 威联通 TS-462C 4盘位NAS(赛扬N4505、4GB)

QNAP 威联通 TS-462C 4盘位NAS(赛扬N4505、4GB)

1849元起

Synology 群晖 DS918+ 四盘位NAS(J3455、4GB)

Synology 群晖 DS918+ 四盘位NAS(J3455、4GB)

暂无报价
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
扫一下,分享更方便,购买更轻松