本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
⚠️⚠️⚠️ 本镜像由社区志愿者维护,适用于有经验的用户。若需快速部署并支持 Nextcloud Hub 全部功能,建议使用由 Nextcloud GmbH 官方维护的 Nextcloud All-in-One Docker 容器。
Nextcloud 社区
可通过 Docker Community Slack、Server Fault、Unix & Linux 或 Stack Overflow 获取帮助。
以下是常用镜像标签及其 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(架构详情)repos/nextcloud/ 目录(包含元数据、传输大小等)library/nextcloud 标签Nextcloud 是一款开源的个人/企业数据管理平台,可安全存储文件、日历、联系人等数据,并支持多设备访问与共享。详情可访问 Nextcloud 官网。
注意:本 Docker 镜像是社区维护版本,Nextcloud GmbH 不提供技术支持。如需专业支持,可选择 企业版 或 All-in-One 容器。
本镜像适用于微服务环境,提供两种类型:apache 与 fpm。apache 标签包含完整的 Nextcloud 环境及 Apache 服务器,开箱即用;fpm 标签基于 php-fpm,需配合外部 Web 服务器(如 Nginx)使用。
Apache 镜像内置 Web 服务器,暴露 80 端口,直接运行即可启动服务:
docker run -d -p 8080:80 nextcloud
启动后,通过 `[***] 访问 Nextcloud 初始化页面。
FPM 镜像需配合外部 Web 服务器(如 Nginx),仅提供 FastCGI 进程,不处理静态文件(样式表、图片等)。启动时无需映射端口(由 Web 服务器转发请求):
docker run -d nextcloud:fpm
注意:Web 服务器需通过 volumes-from 挂载 Nextcloud 的静态文件目录(如 /var/www/html),具体配置可参考下文 Docker Compose 示例。
默认情况下,容器使用 SQLite 数据库,生产环境建议使用 MySQL/MariaDB 或 PostgreSQL。可通过环境变量预配置数据库连接,或在初始化页面手动填写。
# 启动数据库容器 docker run -d -v db_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=your_root_pw -e MYSQL_DATABASE=nextcloud -e MYSQL_USER=nextcloud -e MYSQL_PASSWORD=your_pw --name nextcloud_db mariadb:10.6 # 启动 Nextcloud 并链接数据库 docker run -d -p 8080:80 --link nextcloud_db:mysql -e MYSQL_HOST=mysql -e MYSQL_DATABASE=nextcloud -e MYSQL_USER=nextcloud -e MYSQL_PASSWORD=your_pw nextcloud
Nextcloud 数据(文件上传、配置等)存储在容器内 /var/www/html 目录,建议通过命名卷或主机目录挂载实现持久化,避免容器删除后数据丢失。
/var/www/html(必选,包含所有应用及用户数据)/var/lib/mysql,PostgreSQL 为 /var/lib/postgresql/data(按需挂载)# 持久化 Nextcloud 数据 docker run -d -v nextcloud_data:/var/www/html nextcloud # 持久化 MariaDB 数据 docker run -d -v mariadb_data:/var/lib/mysql mariadb:10.6
如需精细化管理,可单独挂载子目录:
config:配置文件(/var/www/html/config)data:用户上传文件(/var/www/html/data)custom_apps:自定义应用(/var/www/html/custom_apps)themes:主题文件(/var/www/html/themes/<自定义主题>)docker run -d \ -v nextcloud:/var/www/html \ -v nextcloud_config:/var/www/html/config \ -v nextcloud_data:/var/www/html/data \ nextcloud
通过 occ 命令管理 Nextcloud(如用户创建、维护模式切换),需以 www-data 用户执行:
# 容器内执行 docker exec --user www-data <容器ID> php occ <命令> # 示例:列出用户 docker exec --user www-data <容器ID> php occ user:list
通过环境变量可跳过初始化页面,直接完成配置。常用变量如下:
| 变量名 | 说明 |
|---|---|
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) |
docker run -d -p 8080:80 \ -e NEXTCLOUD_ADMIN_USER=admin \ -e NEXTCLOUD_ADMIN_PASSWORD=strong_password \ -e NEXTCLOUD_TRUSTED_DOMAINS=localhost 192.168.1.100 \ -e MYSQL_HOST=mysql -e MYSQL_DATABASE=nextcloud -e MYSQL_USER=nextcloud -e MYSQL_PASSWORD=db_pw \ nextcloud
若 Nextcloud 部署在反向代理后,需配置信任代理 IP 及协议,避免访问异常。通过以下环境变量设置:
APACHE_DISABLE_REWRITE_IP=1:禁用 IP 重写TRUSTED_PROXIES=192.168.1.0/24 10.0.0.1:信任的代理 IP(支持 CIDR 格式)OVERWRITEPROTOCOL=https:强制使用 HTTPS 协议示例:
docker run -d -p 8080:80 \ -e TRUSTED_PROXIES=192.168.1.10 \ -e OVERWRITEPROTOCOL=https \ nextcloud
使用 compose.yaml 可快速搭建完整环境(含数据库、持久化存储)。以下为 Apache + MariaDB 基础配置:
volumes: nextcloud_data: # Nextcloud 数据卷 db_data: # 数据库数据卷 services: db: image: mariadb:10.6 restart: always volumes: - db_data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=your_root_pw # 替换为实际密码 - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=your_db_pw # 替换为实际密码 command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW app: image: nextcloud restart: always ports: - 8080:80 volumes: - nextcloud_data:/var/www/html environment: - MYSQL_HOST=db - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=your_db_pw # 与数据库密码一致 depends_on: - db
保存为 compose.yaml 后,执行 docker compose up -d 启动服务,通过 `[***] 访问。
PHP_UPLOAD_LIMIT 及 Web 服务器请求体限制(如 APACHE_BODY_LIMIT)。更多高级配置(如 Redis 缓存、S3 存储、钩子脚本等),请参考 完整文档。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429