本站支持搜索的镜像仓库: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社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile链接30.0.16-apache, 30.0-apache, 30-apache, 30.0.16, 30.0, 30
30.0.16-fpm, 30.0-fpm, 30-fpm
30.0.16-fpm-alpine, 30.0-fpm-alpine, 30-fpm-alpine
31.0.9-apache, 31.0-apache, 31-apache, stable-apache, production-apache, 31.0.9, 31.0, 31, stable, production
31.0.9-fpm, 31.0-fpm, 31-fpm, stable-fpm, production-fpm
31.0.9-fpm-alpine, 31.0-fpm-alpine, 31-fpm-alpine, stable-fpm-alpine, production-fpm-alpine
32.0.0-apache, 32.0-apache, 32-apache, apache, 32.0.0, 32.0, 32, latest
32.0.0-fpm, 32.0-fpm, 32-fpm, fpm
32.0.0-fpm-alpine, 32.0-fpm-alpine, 32-fpm-alpine, fpm-alpine
问题反馈地址:
[***]
支持的架构:(更多信息)
amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390x
镜像 artifact 详情:
repo-info 仓库的 repos/nextcloud/ 目录 (历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images 仓库的 library/nextcloud 标签
official-images 仓库的 library/nextcloud 文件 (历史记录)
本描述的来源:
docs 仓库的 nextcloud/ 目录 (历史记录)
你的所有数据的安全家园。从任何设备按你的方式访问和分享文件、日历、联系人、邮件等。
Nextcloud.com
此 Docker 微服务镜像由 Nextcloud 社区开发和维护。Nextcloud GmbH 不为此 Docker 镜像提供支持。如果需要专业支持,你可以成为企业客户或使用 AIO。
此镜像设计用于微服务环境。你可以选择两种版本的镜像:
apache 标签包含完整的 Nextcloud 安装,包括 apache Web 服务器。它易于使用,可快速启动。这也是 latest 标签和未指定进一步说明的版本标签的默认选择。
第二种选择是 fpm 容器。它基于 php-fpm 镜像,运行 FastCGI 进程来提供 Nextcloud 页面。使用此镜像时,必须与任何可以将 HTTP 请求代理到容器 FastCGI 端口的 Web 服务器结合使用。
apache 镜像包含 Web 服务器并暴露 80 端口。启动容器的命令如下:
$ docker run -d -p 8080:80 arm32v7/nextcloud
现在你可以从主机系统通过 http://localhost:8080/ 访问 Nextcloud。
要使用 fpm 镜像,需要额外的 Web 服务器,如 nginx,它可以将 HTTP 请求代理到容器的 fpm 端口。对于 fpm 连接,此容器暴露 9000 端口。在大多数情况下,你可能希望使用另一个容器或主机作为代理。如果使用主机,可以直接通过端口 9000 访问 Nextcloud 容器。如果使用另一个容器,请确保将它们添加到同一 Docker 网络(通过 docker run --network <NAME> ... 或 compose.yaml 文件)。在这两种情况下,都不希望将 fpm 端口映射到主机。
$ docker run -d arm32v7/nextcloud:fpm
由于 FastCGI 进程无法提供静态文件(样式表、图像等),Web 服务器需要访问这些文件。这可以通过 volumes-from 选项实现。你可以在 Docker Compose 部分找到更多信息。
默认情况下,此容器使用 SQLite 进行数据存储,但 Nextcloud 设置向导(首次运行时出现)允许连接到现有的 MySQL/MariaDB 或 PostgreSQL 数据库。你也可以链接数据库容器,例如 --link my-mysql:mysql,然后在设置时使用 mysql 作为数据库主机。更多信息在 Docker Compose 部分。
Nextcloud 安装和数据库之外的所有数据(文件上传等)存储在未命名的 Docker 卷 /var/www/html 中。Docker 守护进程会将该数据存储在 Docker 目录 /var/lib/docker/volumes/... 中。这意味着即使容器崩溃、停止或删除,你的数据也会保存。
升级和备份应使用命名 Docker 卷或挂载的主机目录。为此,你需要一个用于数据库容器的卷和一个用于 Nextcloud 的卷。
Nextcloud:
/var/www/html/ 文件夹,所有 Nextcloud 数据存放于此$ docker run -d \ -v nextcloud:/var/www/html \ arm32v7/nextcloud
数据库:
/var/lib/mysql MySQL / MariaDB 数据/var/lib/postgresql/data PostgreSQL 数据$ docker run -d \ -v db:/var/lib/mysql \ mariadb:10.6
如果希望精细访问各个文件,可以为数据、配置、主题和自定义应用挂载额外的卷。data、config 文件存储在 /var/www/html/ 内的相应子文件夹中。应用分为核心 apps(随 Nextcloud 一起提供,无需担心)和 custom_apps 文件夹。如果使用自定义主题,它将位于 themes 子文件夹中。
可挂载为卷的文件夹概述:
/var/www/html 主文件夹,升级时需要/var/www/html/custom_apps 已安装/修改的应用/var/www/html/config 本地配置/var/www/html/data Nextcloud 的实际数据/var/www/html/themes/<YOUR_CUSTOM_THEME> 主题/品牌如果要为所有这些使用命名卷,命令如下:
$ docker run -d \ -v nextcloud:/var/www/html \ -v apps:/var/www/html/custom_apps \ -v config:/var/www/html/config \ -v data:/var/www/html/data \ -v theme:/var/www/html/themes/<YOUR_CUSTOM_THEME> \ arm32v7/nextcloud
如果在 /var/www/html 下挂载额外的卷,你应考虑:
/var/www/html 之外的位置。请注意,主文件夹 (
/var/www/html) 内的数据在安装和升级期间会被覆盖/删除,除非在 upgrade.exclude 中列出。官方支持的额外卷已在此列表中,但自定义卷需要你自行添加。建议将自定义存储卷挂载到/var/www/html之外,如果可能设为只读,这样就无需进行此调整。但如果必须如此,你可以构建包含修改后的/upgrade.exclude文件的自定义镜像,以纳入你的自定义卷。
要使用 Nextcloud 命令行界面(即 occ 命令):
$ docker exec --user www-data CONTAINER_ID php occ
对于 docker compose:
$ docker compose exec --user www-data app php occ
Nextcloud 镜像支持通过环境变量自动配置。你可以预先配置首次运行时安装页面上要求的所有内容。要启用自动配置,通过以下环境变量指定数据库连接。你必须为给定数据库指定所有环境变量,否则数据库环境变量默认为 SQLITE。仅使用一种数据库类型!
SQLite:
SQLITE_DATABASE 使用 sqlite 的数据库名称MYSQL/MariaDB:
MYSQL_DATABASE 使用 mysql/mariadb 的数据库名称。MYSQL_USER 使用 mysql/mariadb 的数据库用户名。MYSQL_PASSWORD 使用 mysql/mariadb 的数据库用户密码。MYSQL_HOST 使用 mysql/mariadb 的数据库服务器主机名。PostgreSQL:
POSTGRES_DB 使用 postgres 的数据库名称。POSTGRES_USER 使用 postgres 的数据库用户名。POSTGRES_PASSWORD 使用 postgres 的数据库用户密码。POSTGRES_HOST 使用 postgres 的数据库服务器主机名。作为通过环境变量传递敏感信息的替代方法,可以在上述环境变量后附加 _FILE,使初始化脚本从容器中存在的文件加载这些变量的值。详见下文 Docker secrets 部分。
如果设置了特定数据库类型的所有环境变量,你还可以通过设置管理员用户和密码(仅当同时设置两者时才有效)来额外配置 Nextcloud 实例:
NEXTCLOUD_ADMIN_USER Nextcloud 管理员用户名。NEXTCLOUD_ADMIN_PASSWORD Nextcloud 管理员密码。你可以设置数据目录,否则使用默认值:
NEXTCLOUD_DATA_DIR(默认:/var/www/html/data)配置 Nextcloud 存储所有用户文件的数据目录。也可以通过环境变量设置一个或多个受信任域。它们将在安装后添加到配置中:
NEXTCLOUD_TRUSTED_DOMAINS(默认未设置)可选的空格分隔的域名列表安装和更新脚本仅在使用默认命令(apache-foreground 或 php-fpm)时触发。如果使用自定义命令,必须通过以下方式启用安装/更新:
NEXTCLOUD_UPDATE(默认:0)你可能需要确保每次容器更新后 htaccess 是最新的。特别是在多个 swarm 节点上,任何差异都会导致服务器无法使用:
NEXTCLOUD_INIT_HTACCESS(默认未设置)设为 true 可在容器初始化后运行 occ maintenance:update:htaccess。如果要使用 Redis,必须在设置/Compose 文件中创建单独的 Redis 容器。要通知 Nextcloud 有关 Redis 容器的信息,请传入以下参数:
REDIS_HOST(默认未设置)Redis 容器名称REDIS_HOST_PORT(默认:6379)Redis 的可选端口,仅用于非标准端口的外部 Redis 服务器。REDIS_HOST_PASSWORD(默认未设置)Redis 密码建议使用 Redis 以防止文件锁定问题。详见示例中的进一步说明。
要使用外部 SMTP 服务器,必须提供连接详细信息。配置 Nextcloud 使用 SMTP 需添加:
SMTP_HOST(默认未设置):SMTP 服务器的主机名。SMTP_SECURE(默认空):设为 ssl 使用 SSL,或 tls 使用 STARTTLS。SMTP_PORT(默认:SSL 为 465,非安全连接为 25):SMTP 连接的可选端口。使用 587 作为 STARTTLS 的替代端口。SMTP_AUTHTYPE(默认:LOGIN):认证方法。无需认证时使用 PLAIN。SMTP_NAME(默认空):认证用户名。SMTP_PASSWORD(默认空):认证密码。MAIL_FROM_ADDRESS(默认未设置):Nextcloud 发送邮件的“发件人”字段的本地部分。MAIL_DOMAIN(默认未设置):邮件使用的域名,不同于 Nextcloud 安装的域名。至少必须设置 SMTP_HOST
免费版仅支持 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