简介

今天带大家通过docker利用Nextcloud搭建一套属于自己或团队的云同步网盘

Nextcloud介绍: 

Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及 WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘

其实,Nextcloud的服务端部署方式有很多种,今天以Docker方式部署是因为docker可以跨平台运行,可以确保执行环境的一致性,有利于应用的迁移和管理。

开始部署

1、安装并启动docker-ce

[root@qll251 ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
##本次实验以CentOS7.7 为例
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce
systemctl start docker && systemctl enable docker

 具体安装步骤,参考:Docker安装部署

2、拉取Nextcloud镜像

docker pull nextcloud

3、启动nextcloud容器

mkdir /nextcloud
docker run -d --name nextcloud -p 2020:80 -v /nextcloud:/var/www/html nextcloud

简单解释下上述命令:

  • docker run :启动一个容器

  • -d后台运行容器

  • --name nextcloud命名容器的 name 为 nextcloud

  • -p 2020:80将容器的 80 端口映射到服务器的 2020 端口

  • -v将服务器的目录/nextcloud挂载到容器的/var/www/html

  • nextcloud要启动的镜像名称

如果您的回显是这样的,忽略下面的解决办法

如果您提示如下错误:

解决办法:

# 开启IPv4转发功能
vim /etc/sysctl.conf
net.ipv4.ip_forward=1 #配置转发


systemctl restart network #重启服务,让配置生效


#查看是否成功,如果返回为“net.ipv4.ip_forward = 1”则表示成功
sysctl net.ipv4.ip_forward

4、指定容器开机自启动

docker update --restart=always nextcloud

5、禁用防火墙或 宿主机放通2020端口

//关闭防火墙
[root@qll251 ~]# systemctl stop firewalld
==================================或者放通2020端口
[root@qll251 ~]# firewall-cmd --permanent --zone=public --add-port=2020/tcp
[root@qll251 ~]# firewall-cmd --reload

6、ECS云主机安全组配置

由于我使用的**云的ECS云主机,因此还需要在控制台上配置安全组

1)控制台–>”更多”–>“网络和安全组”–“安全组配置”

2)添加规则:允许所有人访问服务器的2020端口

7、访问Web端初始化

访问http://{你的服务器ip地址}:{端口},第一次访问要设置管理员用户名和密码,如果是单人使用,可以直接使用SQLite作为数据库,否则建议其他的数据库后端,点击安装完成完成部署。

客户端体验

本次实验,我是直接部署在互联网上。感兴趣的小伙伴,可点击最下方的原文链接或者在浏览器输入:

http://39.96.81.141:2020

用户名:test

密码:20200303

小提示:

 本次实验使用的云主机网络带宽只有1M,访问人数过多时体验可能不是很友好哦。本文仅作搭建学习之用

版权声明:本文为qinlulu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/qinlulu/archive/2004/01/13/13204856.html