使用 Docker Compose 快速搭建个人云并配置多存储介质

[复制链接]
查看: 324|回复: 0

35

主题

35

帖子

117

积分

注册会员

Rank: 2

积分
117
发表于 2020-12-28 12:06:32 | 显示全部楼层 |阅读模式

实验内容使用 Docker Compose 快速搭建个人云 NextCloud。并借助 NextCloud 连接个人其他云存储介质以拓展存储容量:S3 Compatible OSS,本地硬盘,Google Drive 等。

免费在线实验地址:点击进入

实验资源:云服务器,没有云服务器的朋友推荐1折抢购:69元/年的阿里云服务器或者88元/年的腾讯云服务器

配置系统环境
本章节着重介绍 Docker / Docker Compose 的安装和使用。
安装 Docker
执行下列代码在 Centos 或者其他 RedHat Compatible 的系统中安装 Docker
  1. yum clean all
  2. yum makecache
  3. yum install docker -y
复制代码
这样 Docker 已经安装完毕,你可以通过
  1. docker -v
复制代码

检查 docker 是否安装成功
配置 Docker
因为 Docker 的默认源不在国内,导致拉取镜像时时常会很慢。于是,我们可以添加镜像加速器。
编辑并覆盖以下内容到
/etc/docker/daemon.json
  1. {
  2.   "registry-mirrors": ["https://registry.docker-cn.com"]
  3. }
复制代码
启动 Docker
执行以下命令启动 Docker
  1. systemctl enable docker
  2. systemctl start docker
复制代码
安装 Docker Compose
首先我们需要先安装并升级 pip
  1. yum install python-pip -y
  2. pip install --upgrade pip
复制代码
然后通过 pip 安装 Docker Compose
  1. pip install docker-compose --ignore-installed
复制代码
通过一下命令可以检查 Docker Compose 是否安装正确
  1. docker-compose -v
复制代码
安装 NextCloud申请域名
因为你的私有云需要一个独立的域名来做 HTTPS 加密访问,所以这里推荐大家注册一个域名。
如果您还没有域名,可以在腾讯云上选购,过程可以参考下面的视频。
腾讯官方视频 - 在腾讯云上购买域名
申请解析
然后,创建一条 A 记录,并把记录指向:
<您的 CVM IP 地址>
这个你此刻正在使用的机器的 IP地址,具体过程你可以参考以下视频。
腾讯官方视频 - 解析域名
域名设置解析后需要过一段时间才会生效,设置完成后,你可以通过 ping
  1. ping -c 1 example.com
复制代码
如果 ping 命令返回的信息中含有你设置的解析的 IP 地址,说明解析成功。

请将下面 example.com 换成你自己的域名
构建 Docker Compose
执行一下指令初始化 Docker Compose 目录
  1. mkdir -p nextcloud
  2. cd nextcloud
复制代码
添加并编辑构建文件
docker-compose.yml
输入以下内容
示例代码:/root/nextcloud/docker-compose.yml
  1. version: '3'

  2. services:
  3.   app:
  4.     image: nextcloud:12
  5.     restart: unless-stopped
  6.     volumes:
  7.       - nextcloud:/var/www/html

  8.   web:
  9.     image: abiosoft/caddy
  10.     restart: unless-stopped
  11.     privileged: true
  12.     volumes:
  13.       - ./Caddyfile:/etc/Caddyfile
  14.       - caddy:/root/.caddy
  15.     environment:
  16.       - VIRTUAL_HOST=<您的 CVM IP 地址>
  17.     links:
  18.       - app
  19.     ports:
  20.       - 80:80
  21.       - 443:443
  22.     networks:
  23.       - default

  24. volumes:
  25.   nextcloud:
  26.   caddy:

  27. networks:
  28.   default:
复制代码
构建上游服务器 Caddy
在本次教程中,我们采用 Docker + Caddy + PHP + SQLite 的构架。
Caddy 是一个非常优秀的上游服务器(功能类似于 Nginx),但是它自带免费申请 SSL证书 的功能,它的配置方法如下:
添加并编辑构建文件
Caddyfile
示例代码:/root/nextcloud/Caddyfile
  1. 域名

  2. errors error.log {
  3.     404 https://error.yuuno.cc
  4. }

  5. proxy / app:80 {
  6.     transparent
  7.     header_downstream Content-Security-Policy none
  8. }
复制代码
请将 域名 改成你自己的域名。
这里需要强调的是,如果没有自己的域名,将不能启用 SSL,因为 let's encrypt 只支持域名证书,如果无绑定域名,会被直接拒绝。因此,这里强烈建议使用自己的域名!
启动服务
最后我们只需要让 Docker Compose 自动构建并维护这几个 Docker 即可
此处可能要等待几分钟,具体时间是网络情况而定。(如果过于缓慢,请检查是否参考第一步中配置了国内镜像)
  1. docker-compose up -d
复制代码
你可以通过如下命令检查 Docker 状态
  1. docker-compose ps
复制代码
注: Caddy 在第一次获取 SSL 是会自动重启两次,较慢为正常现象。如果看到两个容器都为 Up 状态。即可进入下一步
至此,NextCloud 已经配置完毕
请访问
https://你的域名/
查看安装界面
或者,你也可以访问不加密的页面
http://你的域名/
自配域名的同理
配置 NextCloud初始化
接下来就是简单的配置部分
此处输入你的管理员用户名和密码,就完成了,是不是很简单!
这就是你的文件目录啦
开启多媒介存储
点击 应用 这里需要等待一些时间,因为 NextCloud 会更新应用市场
找到 External storage support 并启用它
进入 Admin
这是你就能看到在左侧已经出现了 外部存储
拓展存储
这里只以 Amazon S3 作为案例。其他的配置都类似,根据提示来即可
如图所示,示例添加的是 Amazon S3 亚太区的一个 bucket。bucket 名字为 yu
链接成功后,左侧会出现一个绿点,这时候回到主页,就能看到 S3 已经被当做一个 『网盘』 一样挂载了进来。
本教程就到此结束啦。

腾讯云
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩图文



在线客服(工作时间:9:00-22:00)
400-600-6565

内容导航

微信客服

Copyright   ©2015-2019  云服务器社区  Powered by©Discuz!  技术支持:尊托网络     ( 湘ICP备15009499号-1 )