nextcloud+docker在阿里云服务器上搭建个人云存储盘(如何在服务器上搭建私有云盘)

        本文旨在学习记录。下述内容是作者经历过大大小小的十来次失败总结而来,内容都是各方博客荟萃的结果,按照内容都已实践成功,若失败,只需初始化云盘,重新安装即可,无需抱疑。学习道路上难免坎坷,希望大家不畏挫折,不轻言弃,共勉。

目录

       一、什么是nextcloud

       二、什么是docker容器 

       三、安装环境

       四、安装步骤

            1、docker安装

   2、docker-compose安装        

   3、镜像配置 

       五、访问,并初始化nextcloud信息

       六、扩展与结语


一、什么是nextcloud

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

二、什么是docker容器 

        容器就是将软件打包成标准化单元,以用于开发、交付和部署。Docker 能够自动执行重复性任务,例如搭建和配置开发环境,从而解放了开发人员以便他们专注在真正重要的事情上:构建杰出的软件。用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

三、安装环境

        服务器:阿里云服务器

        Linux系统:CentOS 7.6 64位

        CPU&内存:2核 2 GiB

        实例规格族:ECS.t6

四、安装步骤

 1、docker安装

yum install epel-release
yum install docker

         注意,上述的docker安装为简易安装。如果读者需要选择国内阿里云镜像,或者是选择特定版本号安装的,或者是想要一个完整的docker安装教程的,请移步至:docker安装教程(依据官方文档,包含卸载旧版本)。

        重启docker。

service docker restart 

        设置开机自动启动docker。 

systemctl enable docker  

        通过 docker -v 命令查看安装情况。至此,docker安装完毕。 

2、docker-compose安装        

        本人尝试了:安装docker-compose的两种方式  和  通过weget方式下载都失败,原因是网络问题,如若有同学能按以上方式下载,后期可能会多次因为网络不稳定而出现下载中断或结果报错。最后采取通过官网下载安装包并通过xftp传送安装包至服务器上”或者采用国内镜像下载docker-compose(推荐这个),下面分别介绍两种方法,采用其中一种即可。

方法①:采用国内镜像下载docker-compose(推荐这个,更为方便些)

        直接执行以下命令即可:

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

方法②:通过官网下载安装包并通过xftp传送安装包至服务器上

        从官网下载安装包:https://github.com/docker/compose/releases/tag/1.25.0-rc4 ,将安装包放置  /usr/local/bin  目录下,并改名为 docker-compose

        采用上述其中一种下载docker-compose即可。至此,docker-compose下载完毕。

        最后,记得添加可执行权限

chmod +x /usr/local/bin/docker-compose

        通过 docker-compose -v 命令查看安装情况。至此,docker-compose安装完毕

3、镜像配置 

           /opt 目录下创建一个 nextcloud 目录,并切换至 nextcloud 目中,进行网络创建操作

cd /opt
mkdir nextcloud
cd nextcloud

        需要创建一个nextcloud的网络。注意,如果以下步骤失败了,只需再输入命令尝试多几遍

docker network create nextcloud

创建网络成功后,新建并编辑docker-compose.yml文件设置镜像信息。这里特别强调几点:

        ① 复制粘贴完后,请再次确认开头是否有漏缺字符,作者在每次复制的时候开头的‘version’英文总是不完整;

        ② 字段MYSQL_ROOT_PASSWORD对应后面需要初始化的数据库密码,字段MYSQL_DATABASE对应的是数据库的库名,字段"2333:80"对应的是开放端口2333(记得在阿里云安全组中开放该端口!),后面需通过ip:端口号访问你的页面。以上字段读者可自定义,该类字段在最后的nextcloud初始化中将会使用,若第一次安装,请按照本文默认配置来进行。

        ③ 字段version代表版本号,换为数字“3”也是可以的,影响不大。

        ④ 编辑完成后,按esc进入命令模式,输入 :wq 命令进行保存。

vi docker-compose.yml   #通过vi命令,编辑配置文件,下面是需要编辑的内容
version: '3'
services:
  db:
    container_name: cloud_db
    image: mysql:5.7
    volumes:
      - "./data/cloud/mysql:/var/lib/mysql"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: nextcloud
  app:
    container_name: cloud_app
    depends_on:
      - db
    image: nextcloud
    volumes:
      - ./data/cloud/config:/var/www/html/config
      - ./data/cloud/data:/var/www/html/data
      - ./data/cloud/apps:/var/www/html/apps
    links:
      - db
    ports:
      - "2333:80"
    restart: always
networks:
  default:
    external:
      name: nextcloud

         最后,拉取镜像(该过程较为缓慢,请耐心等候):

docker-compose up -d

        至此,镜像拉取完毕。

五、访问,并初始化nextcloud信息

         当你完成镜像拉取时,就可以通过 ip:端口 来访问nextcloud页面。如作者的公网IP为120.xx.xxx.24,端口为:2333(请再次确认已开放该端口),输入:120.xx.xxx.24:2333即可访问,结果如图。

        这里注意,管理员账号密码需自定义。数据库需要选择 MySQL/MariaDB,数据库用户必须是 root,而数据库密码(root)、数据库名(nextcloud)、数据库主机(db)是docker-compose.yml文件中配置的信息!请严格仔细按照上图输入,如果你没有修改过docker-compose.yml配置文件的话。

        最后大功告成,下面是作者关于应用nextcloud的一些自定义设置和使用展示。 

六、扩展与结语

         细心的读者已经发现,上面的演示中,是直接通过域名访问,而非以 ip:端口或者以域名:端口的方式进行访问,这便是我要补充的内容。限于篇幅和主题,本文这里不作赘述,请读者移步至:如何直接通过域名访问页面

        本文是作者经历过大大小小的十来次失败总结而来,内容都是各方博客荟萃的结果,上述内容都已实践成功,若失败,只需初始化云盘,重新安装即可,无需抱疑。学习道路上难免坎坷,希望大家不畏挫折,不轻言弃,共勉。若有帮助,请点赞收藏,谢谢。

 

  • 11
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值