基于docker的一键部署Nextcloud发布时间:2020/3/27 19:10:00 阅读次数:

  

简介
  Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及 WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘。
  Nextcloud也提供了许多应用安装,包括但不限于Markdown在线编辑、OnlyOffice(需另外部署服务端)、思维导图、日历等,你可以自行选择以丰富个人网盘的功能。
  Nextcloud的服务端部署方式有很多种,本文会介绍基于Docker部署方式。选择以Docker的方式来部署nextcloud是因为Docker可以跨平台上运行,可以确保执行环境的一致性,有利于应用的迁移和管理。
 
  服务端部署的基本流程是:安装Docker并启动 --> 运行Nextcloud容器 --> 访问Web端初始化。
 
1 安装Docker并启动
 
这里我以一个空白的CentOS7为例
 #step1 安装依赖包
  yum install -y yum-utils device-mapper-persistent-data lvm2
 
 #step2 添加yum
  yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 
 #step3 安装Docker社区版并启动
  yum -y install docker-ce docker-ce-cli containerd
  systemctl start docker
 
 #step4 配置Docker国内镜像加速
 #由于国内网络问题,不修改后面拉取镜像的速度会太慢
  vi /etc/docker/daemon.json
 #写入如下内容并保存(更新:由于下面这个源仍然速度比较慢,强烈推荐使用阿里云等的国内加速源)
  { "registry-mirrors": ["https://registry.docker-cn.com"] }
 
 #step5 重新启动服务
  systemctl daemon-reload
  systemctl restart docker
 
2.运行nextcloud容器
 
当你的操作系统安装好Dokcer,我们可以启动Nextcloud容器(会自动拉取镜像,注意可能下载会比较慢,你可以尝试更换源),参数含义如下:
 -d #容器后台运行
 --name nextcloud #容器名
 -v /data/nextcloud:/var/www/html #将宿主机的目录/data/nextcloud挂载到容器的/var/www/html
 -p 8000:80 #将宿主机的端口(此处以8000为例)映射到容器的80端口
  docker run -d --name nextcloud -p 8000:80 -v /data/nextcloud:/var/www/html nextcloud
3 访问Web端初始化
  第一次使用nextcloud要通过Web端进行配置,如果你是本地虚拟机上测试的话,则需要打开对应端口,如果你使用的是腾讯云、阿里云等的云服务器,则需要配置安全组规则开放对应端口
  访问http://{你的服务器ip地址}:{端口},第一次访问要设置管理员用户名和密码,如果是单人使用,可以直接使用SQLite作为数据库,多人使用建议增加一个mysql容器,最后点击安装完成完成部署。