使用 Docker 部署 NextCloud 个人网盘


一、NextCloud 介绍

NextCloud 简介

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

NextCloud 特点

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

二、检查 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

关闭 innodb_read_only_compressed 全局变量

SET GLOBAL innodb_read_only_compressed=OFF;

六、登录 NextCloud

登录 Nextcloud
创建管理员账户


image.png
登录成功


查看文件


image.png
查看照片

image.png
大功告成


  • 快速构建企业级虚拟专用网络环境-openvpn
  • CentOS替代榜单,哪个才是最佳选择
  • fastdfs开源的轻量级分布式文件系统
  • 什么是AD域控,AD域控有什么作用?
  • Grafana,监控神器!
  • CentOS 要到期了,快来看看有哪些替代品?
  • Nginx做负载均衡、静态资源发布
  • keepalived+haproxy高可用方案
  • KVM与常用企业级虚拟化产品的对比
  • Mysql数据库
  • ansible自动化运维
  • DevOps与自动化运维:开启高效软件开发之旅
  • Haproxy做负载均衡
  • Kubernetes容器化
  • Minio分布式存储应用
  • gitlab的部署
  • Jenkins实现自动化部署
  • Linux安装优化部署
  • Redis sentinel高可用方案
  • Linux+Nginx+PHP+Mysql环境部署
  • MySQL 高可用(MHA)方案
  • Zookeeper部署
  • keepalived实现高可用介绍
  • ELK架构日志收集
  • Solr高可用解决方案
  • Kafka集群部署
  • flume集群高可用连接kafka集群
  • Tomcat Web 应用服务器
  • Squid 代理服务器
  • prometheus实现业务监控
  • 基于etcd的服务发现与注册
  • 实时可视化监控-IT管理工具-open-falcon
  • 使用confd和etcd建立基于Nginx的服务发现和负载均衡服务
  • Harbor 开源企业容器镜像仓库
  • LVS、Nginx 及 HAProxy 的工作原理
  • etcd分布式存储系统
  • Nexus搭建私服
  • 8个最受欢迎的开源项目管理工具软件
  • 使用 Docker 部署 NextCloud 个人网盘
  • 对标 Notion + Obsidian ,可离线且开源免费的知识管理工具Anytype