前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >怎样用NextCloud管理块存储卷

怎样用NextCloud管理块存储卷

作者头像
Techeek
发布2018-09-17 14:44:56
5.2K0
发布2018-09-17 14:44:56
举报
文章被收录于专栏:云计算云计算

什么是Nextcloud?

Nextcloud是一个云存储平台,你可以在任意设备上访问该平台、存储和查看你的文件。本文将介绍如何在一台Linode服务器上挂载Block Storage(块存储卷),以满足大容量文件存储的需求。

开始之前的准备工作

1, 为了正常访问Linode主机,你的登录用户需要具有root权限或者sudo权限。

2, 更新你的系统。

安装Docker和Docker Compose

安装Docker

以下步骤参考自Ubuntu官方代码库的Docker社区版安装方式。如果需要安装Docker的其他发行版,请参考其官网的安装页面

卸载系统可能存在的旧版本Docker

代码语言:txt
复制
sudo apt remove docker docker-engine docker.io

你需要安装必要的软件包,以保证Docker仓库是可用的:

代码语言:txt
复制
sudo apt install apt-transport-https ca-certificates curl software-properties-common

创建DockerGPG密钥:

代码语言:txt
复制
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

校验GPG密钥指纹:

代码语言:txt
复制
sudo apt-key fingerprint 0EBFCD88

你应该看到类似的输出

代码语言:txt
复制
pub   4096R/0EBFCD88 2017-02-22
     Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid                  Docker Release (CE deb) <docker@docker.com>
sub   4096R/F273FCD8 2017-02-22

创建一个stable版本的Docker仓库(即将该Docker源添加到/etc/apt/source.list中):

代码语言:txt
复制
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

更新软件库索引并安装Docker社区版

代码语言:txt
复制
sudo apt update
sudo apt install docker-ce

将仅有的几个Linux用户添加到docker组:

代码语言:txt
复制
sudo usermod -aG docker exampleuser

重启shell(终端)后生效

运行内置应用“Hello World”,检查是否安装成功

代码语言:txt
复制
docker run hello-world

安装Docker Compose

下载最新版本的Docker Compose。检查版本页面,将代码中的1.21.2改成最新版本的版本号

代码语言:txt
复制
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

设置文件权限:

代码语言:txt
复制
sudo chmod +x /usr/local/bin/docker-compose

挂载块存储卷

创建一个块存储卷,并将其挂载到你的Linode主机上。有关在Linode Manager(一个Linode主机管理系统)上执行此操作的具体步骤,请参考Linode主机之块存储卷挂载

您还可以使用Linode CLI(一个能够实现Linode主机终端交互的GitHub项目)创建新的块卷。下面的命令的意思是创建一个20GB的存储卷,将其标记为nextcloud,并挂载到标记为nextcloud-linode的Linode主机上 。我们可以根据需要调整命令:

代码语言:txt
复制
linode-cli volume create nextcloud -l nextcloud-linode -s 20

在Block Storage Volume(块存储卷)上创建文件系统,然后根据Linode Manager的指示创建一个挂载点:

检查磁盘的可用空间。请注意:卷会因为文件系统而产生一些额外开销

代码语言:txt
复制
df -BG
代码语言:txt
复制
Filesystem 1G-blocks Used Available Use% Mounted on
/dev/root 20G 2G 18G 6% /
devtmpfs 1G 0G 1G 0% /dev
tmpfs 1G 0G 1G 0% /dev/shm
tmpfs 1G 1G 1G 2% /run
tmpfs 1G 0G 1G 0% /run/lock
tmpfs 1G 0G 1G 0% /sys/fs/cgroup
tmpfs 1G 0G 1G 0% /run/user/1000
/dev/sdc 20G 1G 19G 1% /mnt/nextcloud

修改挂载点的所有权:

代码语言:txt
复制
sudo chown username:username /mnt/nextcloud/

使用Docker Compose配置Nextcloud

Nextcloud提供了一个官方docker-compose.yml文件,它的用处是在运行Nextcloud容器时将数据保存到数据库。你可以编辑此文件的内容,将数据卷绑定到Block Storage Volume的挂载点。

为Nextcloud创建一个目录:

代码语言:txt
复制
mkdir ~/nextcloud && cd ~/nextcloud

打开文本编辑器,创建docker-compose.yml文件,并添加以下内容。为MariaDB添加适当的密码:

代码语言:txt
复制
version: '2'

volumes:
 nextcloud:
 db:

services:
 db:
   image: mariadb
   restart: always
   volumes:
     - /mnt/nextcloud/:/var/lib/mysql
   environment:
     - MYSQL_ROOT_PASSWORD=
     - MYSQL_PASSWORD=
     - MYSQL_DATABASE=nextcloud
     - MYSQL_USER=nextcloud

 app:
   image: nextcloud
   ports:
     - 8080:80
   links:
     - db
   volumes:
     - /mnt/nextcloud/data:/var/www/html
   restart: always

启动Docker Compose配置:

代码语言:txt
复制
docker-compose up -d

你应该把Linode的公共IP地址端口8080开放给Nextcloud

创建管理员帐户时,打开存储和数据库的下拉菜单,填写如下所示的信息,然后输入你在docker-compose.yml文件中填写的MariaDB密码:

警告:Nextcloud提供的设置中不包含任何的SSL证书加密方案,为了保证你的数据和通信安全,所有的Nextcloud服务应在设置反向代理之后启动。使用NGINX反向代理的docker compose配置文件和Let's Encrpyt加密证书都是可用的。

上传数据

创建管理员成功后,浏览器将显示Nextcloud的仪表板。单击左上角的+图标,然后选择上传文件。出于演示目的,我们选择一个Ubuntu.iso大文件用于生成下面的输出)。

成功上传文件后,返回终端并检查可用空间:

代码语言:txt
复制
df -BG
代码语言:txt
复制
 
Filesystem 1G-blocks Used Available Use% Mounted on
/dev/root 20G 2G 17G 11% /
devtmpfs 1G 0G 1G 0% /dev
tmpfs 1G 0G 1G 0% /dev/shm
tmpfs 1G 1G 1G 2% /run
tmpfs 1G 0G 1G 0% /run/lock
tmpfs 1G 0G 1G 0% /sys/fs/cgroup
/dev/sdc 20G 2G 17G 11% /mnt/nextcloud
tmpfs 1G 0G 1G 0% /run/user/1000

终端应该显示文件已存储,/mnt/nextcloud是块存储卷的挂载点。

更多信息

有关本文主题的其他相关信息,您可能需要参考以下资源。我们虽然希望提供的资源对你有用,但请注意,我们无法保证外部托管材料的准确性和及时性。

Nextcloud Docker说明文档

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是Nextcloud?
  • 开始之前的准备工作
  • 安装Docker和Docker Compose
    • 安装Docker
      • 安装Docker Compose
      • 挂载块存储卷
      • 使用Docker Compose配置Nextcloud
      • 上传数据
      • 更多信息
      相关产品与服务
      对象存储
      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档