nextcloud docker-compose,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.安装(过程简短,仅强调注意事项)
在安装过程中使用正常安装模式,以最大限度地减少安装可能出现的依赖性问题。同时宝宝在安装的时候也取消了下载更新,不然会特别慢~
3.替换Ubuntu的apt源码
由于apt片源在国外,而且访问速度感人,宝宝建议最好改用国内的片源。
(使用sudo命令会询问当前用户的密码,不会有密码提示符号~)
[sudo gedit/etc/apt/sources . list]
删除此文件的所有内容并替换为
[德布https://mirrors.tuna.tsinghua.edu.cn/ubuntu/仿生主受限宇宙多元宇宙
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/仿生主受限宇宙多元宇宙
黛比https://mirrors.tuna.tsinghua.edu.cn/ubuntu/仿生-更新主要受限宇宙多元宇宙
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/仿生-更新主要受限宇宙多元宇宙
德布https://mirrors.tuna.tsinghua.edu.cn/ubuntu/仿生-背港主要受限宇宙多元宇宙
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/仿生-backports主受限宇宙多元宇宙
德布https://mirrors.tuna.tsinghua.edu.cn/ubuntu/仿生-安全主要受限宇宙多元宇宙
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/仿生-安全主受限宇宙多元宇宙
德布https://mirrors.tuna.tsinghua.edu.cn/ubuntu/仿生提出的主要受限宇宙多元宇宙
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/仿生-提出主受限宇宙多元宇宙]
每行一个deb
然后更新apt源码。
[sudo apt更新-y]
更新软件包,保证宝宝的环境一致,降低出错率。
[sudo apt升级-y]
第二步:安装Docker并设置环境
1.安装docker
[sudo apt安装docker.io]
[sudo systemctl start docker](启动docker)
[sudo systemctl enable docker](将docker设置为boot)
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表示将用户添加到组中,该命令区分大小写)
[sudocker _ user]
(切换到docker_user用户,注意:中间破折号左右有空格,表示将账号改为docker_user,工作目录改为该用户的主目录。)
[!- empirenews.page - ]
第三步:部署NextCloud(注:切换至docker_user的操作均不使用sudo命令)
1.在docker Hub中搜索NextCloud映像。
【docker搜索nextcloud】
2.将图像推送到本地。
[docker pull nextcloud]
3.启动容器。
[docker run-d-restart=always-name next cloud-p 80:80-v/root/next cloud:/data docker.io/nextcloud]
(-d参数使该容器在后台运行,- restart参数指定容器停止后的重启策略始终是退出时重启,-p指定容器的公开端口,-v指定容器挂载目录。这时候要注意网盘的空间问题,挂载目录尽量大,否则可能会空间不足,不过实验环境无所谓~ ~)
4.检查容器状态。
[docker ps -a]
(容器ID,后面要用到,注意)
5.初始化NextCloud
用浏览器打开NextCloud的网页,虚拟机使用[http://localhost],内网使用[3358IP]。比如宝宝的IP是172.16.0.237,那么输入:
[http://172.16.0.237/]
(只需直接设置管理员用户的密码,无需配置数据库,Finsh setup)
第四步:不受信任的域名
至此,NextCloud已经搭建完成,但是宝宝们会发现,这个NextCloud页面只能通过安装后第一次输入的域名打开,其他域名或ip都会提示该域名不可信。没关系,这是由nextcloud内部的config.php决定的。下面我们来修改一下这个文件。
1.切换到服务器中的docker_user用户。
2.进入NextCloud容器,安装vim编辑器。
[docker exec -it容器ID /bin/bash]
(容器ID是[docker ps -a]显示的ID)
[apt-get install vim -y]
(因为是国外服务器,速度会慢,但是下载文件不大,可以忍一下~)
3.修改config.php文件。
[光盘配置]
(cd命令用于切换工作目录。此时,使用相对路径切换到当前目录的config文件夹。这个文件的绝对路径是/var/www/html/config/config . PHP)
[维姆config.php]
(将图中高亮部分改为下图,表示允许所有域名访问)
(使用vim编辑器修改文件。用箭头键控制光标,定位后用[o]键编辑,编辑后按ESC键退出编辑,最后用[:wq]保存退出编辑,返回集装箱码头)
4.重新加载配置
[服务apache2重新加载]
[退出](退出容器并返回到服务器终端)