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
service docker restart #重启
systemctl enable docker  #设置开机自启

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

2、docker-compose安装        

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

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

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

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

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

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

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

3、镜像配置 

         在  /opt 目录下创建一个 nextcloud 目录,并切换至 nextcloud 目中

cd /opt
mkdir nextcloud
cd nextcloud

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

docker create network nextcloud

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

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

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

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

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

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

vi docker-compose.yml
version: '2'
services:
  db:
    container_name: cloud_db
    image: mysql
    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即可访问,结果如图。

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

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

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

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

六、扩展与结语

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

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

 

你可能感兴趣的:(docker,阿里云,服务器)