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

2019-11-09 17:18:08 45点赞 703收藏 23评论

前言的前言

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

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

 我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云华擎主板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




展开 收起

Synology 群晖 DS918+ 四盘位NAS网络存储服务器

Synology 群晖 DS918+ 四盘位NAS网络存储服务器

3900元起

QNAP 威联通 TS-453Bmini 四盘位NAS网络存储(J3455、4GB内存)

QNAP 威联通 TS-453Bmini 四盘位NAS网络存储(J3455、4GB内存)

1900元起

HIKVISION 海康威视 H90系列 家庭网络储存

HIKVISION 海康威视 H90系列 家庭网络储存

179元起

铁威马 TERRA MASTER D2 Thunderbolt 3 雷电3 DAS 2盘位磁盘阵列 硬盘盒

铁威马 TERRA MASTER D2 Thunderbolt 3 雷电3 DAS 2盘位磁盘阵列 硬盘盒

1999元起

HIKVISION 海康威视 H100 网络存储服务器

HIKVISION 海康威视 H100 网络存储服务器

679元起

威联通(QNAP)TS-432XU-RP四核CPU内建 2个10GbE SFP+ 四盘位单双源机架式NAS网络存储(TS-431XU升级版)

威联通(QNAP)TS-432XU-RP四核CPU内建 2个10GbE SFP+ 四盘位单双源机架式NAS网络存储(TS-431XU升级版)

6530元起

QNAP 威联通 TS-832X-2G八盘位NAS网络存储器

QNAP 威联通 TS-832X-2G八盘位NAS网络存储器

4960元起

QNAP 威联通 TS-451+ 2G内存 NAS网络存储器

QNAP 威联通 TS-451+ 2G内存 NAS网络存储器

3049元起

铁威马(TerraMaster) Type-C公对公数据线 双头USB-C手机转接头线 支持苹果MacBook 支持铁威马磁盘阵列

铁威马(TerraMaster) Type-C公对公数据线 双头USB-C手机转接头线 支持苹果MacBook 支持铁威马磁盘阵列

51.5元起

铁威马(TerraMaster)F5-420 企业级Intel四核 五盘位NAS网络存储服 云存储务器 双千兆网口

铁威马(TerraMaster)F5-420 企业级Intel四核 五盘位NAS网络存储服 云存储务器 双千兆网口

4989元起

TERRAMASTER 铁威马 F4-420 四盘NAS千兆网络存储( intel 2.0GHz,4G内存)

TERRAMASTER 铁威马 F4-420 四盘NAS千兆网络存储( intel 2.0GHz,4G内存)

3799元起

中兴(ZTE) HC100中兴云盒家用网络存储nas服务器云存储4K高清

中兴(ZTE) HC100中兴云盒家用网络存储nas服务器云存储4K高清

1099元起

N2 恩兔 NS-1 NAS 移动硬盘 1GB DDR3内存

N2 恩兔 NS-1 NAS 移动硬盘 1GB DDR3内存

499元起

noontec时尚Hi Fi头戴式耳机 手机电脑通用耳机兼容苹果ios安卓手机(颜色随机)

noontec时尚Hi Fi头戴式耳机 手机电脑通用耳机兼容苹果ios安卓手机(颜色随机)

699元起

海康威视(HIKVISION)H100系列 2盘位NAS网络存储 家庭私有云 私有网盘 (无盘标配)

海康威视(HIKVISION)H100系列 2盘位NAS网络存储 家庭私有云 私有网盘 (无盘标配)

489元起

威联通(QNAP)TS-853BU-RP 4G内存 双电源企业级8盘机架式网络存储服务器NAS 含导轨(无内置硬盘)

威联通(QNAP)TS-853BU-RP 4G内存 双电源企业级8盘机架式网络存储服务器NAS 含导轨(无内置硬盘)

17080元起
23评论

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关文章推荐

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