简介

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

 

Nextcloud介绍: 

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

 

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

 

 

开始部署

1、安装并启动docker-ce

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

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

 

 

2、拉取Nextcloud镜像

  •  
docker pull nextcloud

3、启动nextcloud容器

  •  
mkdir /nextclouddocker 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要启动的镜像名称

     

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

手把手教你如何搭建一个私有云盘_Nextcloud

 

如果您提示如下错误:

手把手教你如何搭建一个私有云盘_Nextcloud_02

 

解决办法:

  •  
# 开启IPv4转发功能vim /etc/sysctl.confnet.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)控制台-->"更多"-->“网络和安全组”--“安全组配置”

手把手教你如何搭建一个私有云盘_云盘_03

 

 

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

 

手把手教你如何搭建一个私有云盘_云盘_04

 

7、访问Web端初始化

 

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

手把手教你如何搭建一个私有云盘_云盘_05

 

 

客户端体验

 

手把手教你如何搭建一个私有云盘_Nextcloud_06