简介
今天带大家通过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
:要启动的镜像名称
如果您的回显是这样的,忽略下面的解决办法
如果您提示如下错误:
解决办法:
# 开启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)控制台-->"更多"-->“网络和安全组”--“安全组配置”
2)添加规则:允许所有人访问服务器的2020端口
7、访问Web端初始化
访问http://{你的服务器ip地址}:{端口},第一次访问要设置管理员用户名和密码,如果是单人使用,可以直接使用SQLite作为数据库,否则建议其他的数据库后端,点击安装完成完成部署。
客户端体验