使用 Docker 部署 NextCloud 个人网盘

一、NextCloud 介绍

NextCloud 简介

NextCloud 是一套用于创建网络硬盘的客户端-服务器软件。
其功能与 Dropbox 相近,但 NextCloud 是自由及开放源代码软件,每个人都可以在私人服务器上安装并运行它。

NextCloud 特点

  1. 适合存储个人文件
  2. 解决企业敏感数据存放问题
  3. 解决网盘协作问题
  4. 安全性高,数据位于内部,没有广告
  5. 支持多种插件安装,课按照需求配置
  6. 支持内部用户管理,权限访问,邮箱认证系统
  7. 在线文档的协同编辑、在线流程图绘制、思维导图的使用

二、检查 Docker 状态

检查 Docker 服务状态

// 1) 低版本 Docker 安装
yum install docker -y

----
// < '推荐' >
// 2) 高版本 Docker 安装
curl -fsSL https://get.docker.com/ | sh

----
// 关闭防火墙
systemctl disable --now firewalld
setenforce 0

// 启用 Docker
systemctl enable --now docker

检查 Docker 版本

docker version

三、安装 Docker-compose

安装 Docker-compose

curl -L https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

给 Docker-compose 文件添加执行权限

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

查看 Docker-compose 版本

docker-compose version

四、安装 NextCloud

编写 Docker-compose.yaml 文件

mkdir -p /docker/nextcloud && cd /docker/nextcloud
[root@blog nextcloud] vim docker-compose.yaml 
version: '3'
services:
   nextcloud:
     image: nextcloud
     container_name: nextcloud_web
     links:
      - nextcloud-db:nextcloud-db
     environment:
      - uid=1000
      - gid=1000
      - upload_max_size=5g
      - apc_shm_size=128m
      - opcache_mem_size=128
      - cron_period=15m
      - tz=aisa/shanghai
      - admin_user=admin
      - admin_password=P@ssw0rd123456
      - domain=localhost
      - db_type=mysql
      - MYSQL_PASSWORD=P@ssw0rd123456
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=192.168.80.8:3307
     volumes:
      - /docker/nextcloud/data:/var/www/html
     expose:
      - 80
     ports:
      - 8081:80
     restart: always
    
    
   nextcloud-db:
     image: mariadb:10
     container_name: nextcloud_db
     volumes:
      - /docker/nextcloud/db:/var/lib/mysql
     environment:
      - MARIADB_ROOT_PASSWORD=P@ssw0rd123456
      - MARIADB_DATABASE=nextcloud
      - MARIADB_USER=nextcloud
      - MARIADB_PASSWORD=P@ssw0rd123456
     restart: always
     ports:
      - 3307:3306
docker-compose up -d

查看 NextCloud 容器状态

docker ps -a

五、关闭数据库 只读模式

进入数据库

yum install mysql -y

mysql -h192.168.80.8 -P3307 -uroot -pP@ssw0rd123456

image.png

关闭 innodb_read_only_compressed 全局变量

SET GLOBAL innodb_read_only_compressed=OFF;

六、登录 NextCloud

登录 Nextcloud

创建管理员账户

image.png

登录成功

image.png
image.png

查看文件

image.png

查看照片

image.png

大功告成