专栏首页云计算怎样用NextCloud管理块存储卷

怎样用NextCloud管理块存储卷

什么是Nextcloud?

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

开始之前的准备工作

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

2, 更新你的系统。

安装Docker和Docker Compose

安装Docker

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

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

sudo apt remove docker docker-engine docker.io

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

sudo apt install apt-transport-https ca-certificates curl software-properties-common

创建DockerGPG密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

校验GPG密钥指纹:

sudo apt-key fingerprint 0EBFCD88

你应该看到类似的输出

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中):

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

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

sudo apt update
sudo apt install docker-ce

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

sudo usermod -aG docker exampleuser

重启shell(终端)后生效

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

docker run hello-world

安装Docker Compose

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

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

设置文件权限:

sudo chmod +x /usr/local/bin/docker-compose

挂载块存储卷

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

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

linode-cli volume create nextcloud -l nextcloud-linode -s 20

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

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

df -BG
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

修改挂载点的所有权:

sudo chown username:username /mnt/nextcloud/

使用Docker Compose配置Nextcloud

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

为Nextcloud创建一个目录:

mkdir ~/nextcloud && cd ~/nextcloud

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

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配置:

docker-compose up -d

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

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

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

上传数据

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

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

df -BG
 
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 条评论
登录 后参与评论

相关文章

  • 如何为容器部署安装Docker和Pull图像

    这些步骤使用官方Ubuntu代码存储库安装Docker Community Edition(CE)。要在其他发行版上安装,请参阅官方安装页面。

    Techeek
  • Docker带来的五大益处:CI,版本控制,可移植性,隔离性和安全性

    Docker的跨环境一致性在开发界已经获得了广泛认可。通常情况下,开发阶段和正式发布的环境之间总会有细微的差异。除非你拥有自己的私有仓库,并严格检查。这些差异可...

    Techeek
  • 在Docker平台和Moby项目中加入对Kubernetes的支持

    Docker 平台正在集成对 Kubernetes 的支持,以便 Docker 的客户和开发人员可以选择使用 Kubernetes 和 Swarm 来编排容器的...

    Techeek
  • Docker入门与简单使用

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上。近几年来...

    MySQL技术
  • [ Docker篇 ] - 拓冰之旅

    工作过程中经常会搭建各种设备的编译环境,电脑出现问题,安装系统之后还需要重新搭建,然而现在Docker 帮你解决环境配置难的问题,Docker 类似与虚拟机,但...

    程序手艺人
  • Docker简单使用

    felix
  • 当 Kali 遇见 Docker

    最近在学习 《Python 黑帽子:黑客与渗透测试编程之道》一书,分别在 VMvare 和 U 盘安装了 Kali-Linux 操作系统,但是 VMvare 启...

    蓝默空间
  • Docker安装教程

    Web 应用的自动化打包和发布。自动化测试和持续集成、发布。在服务型环境中部署和调整数据库或其他的后台应用。从头编译或者扩展现有的 OpenShift 或 Cl...

    微笑的小小刀
  • Docker 基础介绍与微服务应用

    Docker是一个开源的容器引擎,它有助于更快地交付应用。 Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用 Docker可...

    zoro
  • Docker:Ubuntu下的安装

    Docker是什么 Docker 是 Docker.Inc 公司开源的一个基于 LXC技术之上构建的Container容器引擎, 源代码托 管在 GitHub ...

    古时的风筝

扫码关注云+社区

领取腾讯云代金券