1. 项目概述与准备工作
作为一名长期使用Docker部署各类服务的运维工程师,我最近为一个小型设计团队搭建了一套基于Nextcloud的私有云存储系统。与常见的单容器部署方案不同,这次我采用了Nextcloud+MariaDB+Redis的完整架构,经过两周的实测运行,系统在文件同步速度和并发访问性能上都有显著提升。下面我就把这次部署的完整过程和优化经验分享给大家。
在开始之前,请确保你的系统满足以下基础要求:
- 已安装Docker Engine(版本20.10.0以上)
- 已安装Docker Compose(v2.x版本)
- 至少4GB可用内存(Redis和MariaDB会占用部分资源)
- 50GB以上的可用存储空间(根据实际需求调整)
提示:建议使用Ubuntu 22.04 LTS或CentOS Stream 9作为宿主机系统,这些发行版对Docker的支持最为完善。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 目录结构与文件准备
2.1 项目目录规划
合理的目录结构是保证长期可维护性的关键。我采用了以下目录布局,所有路径都基于用户主目录下的~/nas/文件夹:
bash复制~/nas/
├── docker-compose.yml # 主编排文件
├── env # 环境变量目录
│ ├── mariadb.env # 数据库配置
│ └── nextcloud.env # Nextcloud专用配置
├── logs # 各容器日志目录
│ ├── mariadb
│ ├── nextcloud
│ └── redis
├── mariadb # 数据库持久化数据
│ └── data
├── nextcloud # Nextcloud应用数据
│ ├── app
│ ├── config
│ └── data
└── redis # Redis持久化数据
└── data
创建目录的命令如下:
bash复制mkdir -p ~/nas/{env,logs/
