Nextcloud是一个云存储平台,你可以在任意设备上访问该平台、存储和查看你的文件。本文将介绍如何在一台Linode服务器上挂载Block Storage(块存储卷),以满足大容量文件存储的需求。
1, 为了正常访问Linode主机,你的登录用户需要具有root权限或者sudo
权限。
2, 更新你的系统。
以下步骤参考自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。检查版本页面,将代码中的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/
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
是块存储卷的挂载点。
有关本文主题的其他相关信息,您可能需要参考以下资源。我们虽然希望提供的资源对你有用,但请注意,我们无法保证外部托管材料的准确性和及时性。