配置系统环境

任务时间:10min ~ 20min

本章节着重介绍 Docker / Docker Compose 的安装和使用。

安装 Docker

执行下列代码在 Centos 或者其他 RedHatCompatible 的系统中安装 Docker

  1. yum clean allyum makecacheyum install docker -y

这样 Docker 已经安装完毕,你可以通过

  1. docker -v

检查 docker 是否安装成功

配置 Docker

因为 Docker 的默认源不在国内,导致拉取镜像时时常会很慢。于是,我们可以添加镜像加速器。

编辑并覆盖以下内容到

/etc/docker/daemon.json

  1. { "registry-mirrors": ["https://registry.docker-cn.com"]}

启动 Docker

执行以下命令启动 Docker

  1. systemctl enable dockersystemctl start docker

安装 Docker Compose

首先我们需要先安装并升级 pip

  1. yum install python-pip -ypip install --upgrade pip

然后通过 pip 安装 DockerCompose

  1. pip install docker-compose --ignore-installed

通过一下命令可以检查 DockerCompose 是否安装正确

  1. docker-compose -v

安装 NextCloud

任务时间:10min ~ 20min

申请域名

因为你的私有云需要一个独立的域名来做 HTTPS 加密访问,所以这里推荐大家注册一个域名。

申请解析

可以点击这里前往域名控制台。

然后,创建一条 A 记录,并把记录指向:

  1. <您的 CVM IP 地址>

这个你此刻正在使用的机器的 IP地址,具体过程你可以参考以下视频。

腾讯官方视频 - 解析域名

域名设置解析后需要过一段时间才会生效,设置完成后,你可以通过 ping [命令查看解析是否生效]:

  1. ping -c 1 example.com

如果 ping 命令返回的信息中含有你设置的解析的 IP 地址,说明解析成功。

请将下面 example.com 换成你自己的域名

构建 Docker Compose

执行一下指令初始化 DockerCompose 目录

  1. mkdir -p nextcloudcd nextcloud

添加并编辑构建文件

docker-compose.yml

输入以下内容

示例代码:/root/nextcloud/docker-compose.yml

  1. version: '3'services: app: image: nextcloud:12 restart: unless-stopped volumes: - nextcloud:/var/www/html web: image: abiosoft/caddy restart: unless-stopped privileged: true volumes: - ./Caddyfile:/etc/Caddyfile - caddy:/root/.caddy environment: - VIRTUAL_HOST=<您的 CVM IP 地址> links: - app ports: - 80:80 - 443:443 networks: - defaultvolumes: nextcloud: caddy:networks: default:

构建上游服务器 Caddy

在本次教程中,我们采用 Docker + Caddy + PHP + SQLite 的构架。

Caddy 是一个非常优秀的上游服务器(功能类似于 Nginx),但是它自带免费申请 SSL证书 的功能,它的配置方法如下:

添加并编辑构建文件

Caddyfile

示例代码:/root/nextcloud/Caddyfile

  1. 域名errors error.log { 404 https://error.yuuno.cc}proxy / app:80 { transparent header_downstream Content-Security-Policy none}

请将 域名 改成你自己的域名。

这里需要强调的是,如果没有自己的域名,将不能启用 SSL,因为 let’s encrypt 只支持域名证书,如果无绑定域名,会被直接拒绝。因此,这里强烈建议使用自己的域名!

启动服务

最后我们只需要让 DockerCompose 自动构建并维护这几个 Docker 即可

此处可能要等待几分钟,具体时间是网络情况而定。(如果过于缓慢,请检查是否参考第一步中配置了国内镜像)

  1. docker-compose up -d

你可以通过如下命令检查 Docker 状态

  1. docker-compose ps

注: Caddy 在第一次获取 SSL 是会自动重启两次,较慢为正常现象。如果看到两个容器都为 Up 状态。即可进入下一步

至此,NextCloud 已经配置完毕

请访问

https://你的域名/

查看安装界面

或者,你也可以访问不加密的页面

http://你的域名/

自配域名的同理

配置 NextCloud

任务时间:15min ~ 30min

初始化

接下来就是简单的配置部分

Docker 搭建「个人网盘」 - 图1

此处输入你的管理员用户名和密码,就完成了,是不是很简单!

这就是你的文件目录啦

Docker 搭建「个人网盘」 - 图2

开启多媒介存储

点击 应用 这里需要等待一些时间,因为 NextCloud 会更新应用市场

Docker 搭建「个人网盘」 - 图3

找到 Externalstorage support 并启用它

Docker 搭建「个人网盘」 - 图4

进入 Admin

Docker 搭建「个人网盘」 - 图5

这是你就能看到在左侧已经出现了 外部存储

Docker 搭建「个人网盘」 - 图6

拓展存储

这里只以 Amazon S3 作为案例。其他的配置都类似,根据提示来即可

Docker 搭建「个人网盘」 - 图7

如图所示,示例添加的是 Amazon S3 亚太区的一个 bucket。bucket 名字为 yu

链接成功后,左侧会出现一个绿点,这时候回到主页,就能看到 S3 已经被当做一个 『网盘』 一样挂载了进来。

Docker 搭建「个人网盘」 - 图8

Docker 搭建「个人网盘」 - 图9

本教程就到此结束啦。