
library/nextcloud
Nextcloud手动构建Docker镜像是一款针对开源文件同步与共享平台Nextcloud的容器化部署包,支持用户通过手动配置方式构建,可灵活适配自建服务器环境,提供安全的文件存储、同步、共享及协作功能,适用于个人或企业搭建私有云存储系统,兼具部署便捷性与自定义扩展性,助力实现数据自主管理与高效协作。
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Nextcloud Docker 镜像使用介绍
重要说明
⚠️⚠️⚠️ 本镜像由社区志愿者维护,适用于有经验的用户。若需快速部署并支持 Nextcloud Hub 全部功能,建议使用由 Nextcloud GmbH 官方维护的 [Nextcloud All-in-One Docker 容器] 。
基本参考信息
维护方
[Nextcloud 社区]
帮助支持
可通过 [Docker Community Slack] 、[Server Fault] 、[Unix & Linux] 或 [Stack Overflow] 获取帮助。
支持的标签及对应 Dockerfile 链接
以下是常用镜像标签及其 Dockerfile 地址(仅列举部分主要版本):
-
Apache 版本
[30.0.16-apache,30.0-apache,30-apache,30.0.16,30.0,30]
[31.0.9-apache,31.0-apache,31-apache,stable-apache,production-apache,31.0.9,31.0,31,stable,production]
[32.0.0-apache,32.0-apache,32-apache,apache,32.0.0,32.0,32,latest] -
FPM 版本
[30.0.16-fpm,30.0-fpm,30-fpm]
[31.0.9-fpm,31.0-fpm,31-fpm,stable-fpm,production-fpm]
[32.0.0-fpm,32.0-fpm,32-fpm,fpm] -
FPM-Alpine 版本
[30.0.16-fpm-alpine,30.0-fpm-alpine,30-fpm-alpine]
[31.0.9-fpm-alpine,31.0-fpm-alpine,31-fpm-alpine,stable-fpm-alpine,production-fpm-alpine]
[32.0.0-fpm-alpine,32.0-fpm-alpine,32-fpm-alpine,fpm-alpine]
扩展参考信息
- 问题反馈地址:[[]]
- 支持的架构:
amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390x([架构详情] ) - 镜像详情:[repo-info 仓库的
repos/nextcloud/目录] (包含元数据、传输大小等) - 镜像更新:[official-images 仓库的
library/nextcloud标签] - 完整说明文档:由于 Hub 长度限制,完整描述请参见 [GitHub 文档]
关于 Nextcloud
Nextcloud 是一款开源的个人/企业数据管理平台,可安全存储文件、日历、联系人等数据,并支持多设备访问与共享。详情可访问 [Nextcloud 官网] 。
注意:本 Docker 镜像是社区维护版本,Nextcloud GmbH 不提供技术支持。如需专业支持,可选择 [企业版] 或 [All-in-One 容器] 。
如何使用本镜像
本镜像适用于微服务环境,提供两种类型:apache 与 fpm。apache 标签包含完整的 Nextcloud 环境及 Apache 服务器,开箱即用;fpm 标签基于 php-fpm,需配合外部 Web 服务器(如 Nginx)使用。
1. Apache 镜像使用
Apache 镜像内置 Web 服务器,暴露 80 端口,直接运行即可启动服务:
bashdocker run -d -p 8080:80 docker.xuanyuan.run/nextcloud
启动后,通过 `[] 访问 Nextcloud 初始化页面。
2. FPM 镜像使用
FPM 镜像需配合外部 Web 服务器(如 Nginx),仅提供 FastCGI 进程,不处理静态文件(样式表、图片等)。启动时无需映射端口(由 Web 服务器转发请求):
CODE_TOKEN_1
注意:Web 服务器需通过 volumes-from 挂载 Nextcloud 的静态文件目录(如 /var/www/html),具体配置可参考下文 Docker Compose 示例。
3. 使用外部数据库
默认情况下,容器使用 SQLite 数据库,生产环境建议使用 MySQL/MariaDB 或 PostgreSQL。可通过环境变量预配置数据库连接,或在初始化页面手动填写。
示例:链接 MariaDB 容器
CODE_TOKEN_2
4. 持久化数据
Nextcloud 数据(文件上传、配置等)存储在容器内 /var/www/html 目录,建议通过命名卷或主机目录挂载实现持久化,避免容器删除后数据丢失。
核心挂载目录
- Nextcloud 数据:
/var/www/html(必选,包含所有应用及用户数据) - 数据库数据:MySQL/MariaDB 为
/var/lib/mysql,PostgreSQL 为/var/lib/postgresql/data(按需挂载)
示例:使用命名卷持久化
CODE_TOKEN_3
细分挂载(可选)
如需精细化管理,可单独挂载子目录:
config:配置文件(/var/www/html/config)data:用户上传文件(/var/www/html/data)custom_apps:自定义应用(/var/www/html/custom_apps)themes:主题文件(/var/www/html/themes/<自定义主题>)
CODE_TOKEN_4
5. 使用 Nextcloud 命令行工具(occ)
通过 occ 命令管理 Nextcloud(如用户创建、维护模式切换),需以 www-data 用户执行:
CODE_TOKEN_5
6. 环境变量自动配置
通过环境变量可跳过初始化页面,直接完成配置。常用变量如下:
| 变量名 | 说明 |
|---|---|
NEXTCLOUD_ADMIN_USER | 管理员用户名(需与 NEXTCLOUD_ADMIN_PASSWORD 同时设置) |
NEXTCLOUD_ADMIN_PASSWORD | 管理员密码 |
NEXTCLOUD_TRUSTED_DOMAINS | 可信域名列表(空格分隔,如 domain1.com domain2.com) |
MYSQL_HOST/POSTGRES_HOST | 数据库主机地址 |
REDIS_HOST | Redis 主机地址(用于缓存,可选) |
PHP_MEMORY_LIMIT | PHP 内存限制(默认 512M) |
PHP_UPLOAD_LIMIT | 文件上传限制(默认 512M) |
示例:通过环境变量初始化
CODE_TOKEN_6
7. 反向代理配置
若 Nextcloud 部署在反向代理后,需配置信任代理 IP 及协议,避免访问异常。通过以下环境变量设置:
APACHE_DISABLE_REWRITE_IP=1:禁用 IP 重写TRUSTED_PROXIES=192.168.1.0/24 10.0.0.1:信任的代理 IP(支持 CIDR 格式)OVERWRITEPROTOCOL=https:强制使用 HTTPS 协议
示例: CODE_TOKEN_7
Docker Compose 示例
使用 compose.yaml 可快速搭建完整环境(含数据库、持久化存储)。以下为 Apache + MariaDB 基础配置:
CODE_TOKEN_8
保存为 compose.yaml 后,执行 docker compose up -d 启动服务,通过 `[] 访问。
注意事项
- 升级与备份:通过命名卷或主机目录挂载数据,便于升级容器时保留数据。
- HTTPS 配置:公网访问需配置 SSL(如通过 Nginx 或 Traefik 反向代理),避免数据传输风险。
- 性能优化:大文件上传需调整
PHP_UPLOAD_LIMIT及 Web 服务器请求体限制(如APACHE_BODY_LIMIT)。
更多高级配置(如 Redis 缓存、S3 存储、钩子脚本等),请参考 [完整文档] 。
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
DockerHub 原生拉取命令
镜像拉取常见问题
功能
错误码
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务