搭建基于Docker的NextCloud网盘

电脑资讯

在上次的教程中,宝宝使用了基于CentOS7.6搭建OwnCloud网盘,不过根据反馈来看有很多的宝宝喜欢用Ubuntu+Docker的方式,并且说OwnCloud已停止更新。

今天就基于Ubuntu 18.10使用Docker搭建NextCloud,主要是让宝宝们学会怎么使用docker这个简单的东西~

有些宝宝说用群晖搭建,考虑到群晖用户较少,还请宝宝们谅解~~~~

 

本教程基于Ubuntu 18.10,VMware Workstation Pro 15.0.2 桥接模式,使用普通用户。

最低要求:Ubuntu 16.04(低于此版本不可使用[systemctl],需使用[service]命令)

可使用虚拟机或物理机搭建

 

 

第一步:安装Ubuntu 18.10并配置环境

1、下载Ubuntu 18.10镜像

2、安装(过程略,只强调注意事项)

在安装过程中使用正常安装模式,最小化安装可能会有依赖问题。同时宝宝也取消了安装时下载更新,不然奇慢无比~

 

搭建基于Docker的NextCloud网盘

 

搭建基于Docker的NextCloud网盘

 

3、更换Ubuntu的apt源

由于apt源在国外,访问速度感人,宝宝建议最好换成国内源。

(使用sudo命令会要求输入当前用户密码,密码不会有提示标志哒~)

[sudo gedit /etc/apt/sources.list]

将此文件所有内容全部删除,并替换为

 

[deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse]

 

一行一个deb哦~

 

搭建基于Docker的NextCloud网盘

 

之后更新apt源

[sudo apt update -y]

更新软件包,保证宝宝们的环境一致,减少错误率

[sudo apt upgrade -y]

 

搭建基于Docker的NextCloud网盘

 

第二步:安装Docker并设置环境

1、安装docker

[sudo apt install docker.io]

[sudo systemctl start docker](启动docker)

[sudo systemctl enable docker](将docker设置为开机启动)

2、创建用于docker的用户

我们实验当中使用root来运行docker是没有问题的,但是在生产环境中有严重的安全问题,在此我们创建一个用户和用户组去运行docker

[sudo useradd -m -s /bin/bash docker_user]

(新建一个叫做docker_user的用户,参数m表示自动建立用户的登录目录,s用于指定此用户的shell)

[sudo passwd docker_user]

(passwd用来更改docker_user的登录密码)

[sudo usermod -aG docker docker_user]

(将此用户加入docker组,-aG表示将用户追加到组,命令对大小写敏感)

[su–docker_user]

(切换至docker_user用户,注意:中划线左右均有空格,不可连写,表示变更帐号为docker_user并改变工作目录至此用户家目录)

 

搭建基于Docker的NextCloud网盘

[!--empirenews.page--]

第三步:部署NextCloud(注:切换至docker_user的操作均不使用sudo命令)

1、搜索docker Hub中的NextCloud镜像

[docker search nextcloud]

2、推送镜像到本地

[docker pull nextcloud]

3、启动容器

[docker run -d  --restart=always --name nextcloud -p 80:80 -v/root/nextcloud:/data docker.io/nextcloud]

(-d参数让此容器在后台运行,--restart参数指定容器停止后的重启策略为退出时总是重启,-p指定容器的暴露端口,-v指定容器挂载目录。此时注意网盘空间问题,挂载目录尽量大些,否则可能空间不足,不过实验环境就无所谓咯~~~)

4、查看容器状态

[docker ps -a]

(CONTAINER ID,在后面要用到,notice一下)

5、初始化NextCloud

使用浏览器打开NextCloud的网页,在虚拟机中使用[http://localhost],在内网则使用[http://ip]打开,比如宝宝的IP是172.16.0.237,那就在浏览器输入:

[http://172.16.0.237/]

 

搭建基于Docker的NextCloud网盘

 

搭建基于Docker的NextCloud网盘

 

(直接设置管理员用户密码即可,无需配置数据库,Finsh setup)

 

第四步:不受信任的域名

至此,NextCloud已搭建完成,不过宝宝们会发现,这个NextCloud页面只有安装完成第一次输入的域名可以打开,其他域名或者ip会提示域名不受信任。没关系,这是由nextcloud内部的config.php所决定的,下面就来修改这个文件吧。

 

搭建基于Docker的NextCloud网盘

 

1、在服务器切换至docker_user用户

2、进入NextCloud容器内部并安装vim编辑器

[docker exec -it CONTAINER ID /bin/bash]

(CONTAINER ID为[docker ps -a ]所显示的ID)

[apt-get install vim -y]

(由于是国外服务器,速度会比较慢,不过下载文件不大,还是可以忍哒~)

 

搭建基于Docker的NextCloud网盘

 

3、修改config.php文件

[cd config]

(cd命令用于切换工作目录,此时使用相对路径切换至当前目录的config文件夹下,此文件绝对路径为/var/www/html/config/config.php)

[vim config.php]

(将图上的高亮部分改为下图即表示允许全部域名访问)

(使用vim编辑器修改文件。方向键控制光标,定位后使用[o]按键来编辑,编辑完成后按下ESC键退出编辑,最后用[:wq]保存并退出编辑返回至容器终端)

 

搭建基于Docker的NextCloud网盘

 

4、重新载入配置

[service apache2 reload]

[exit](退出容器,返回至服务器终端)

相关文章