⚠️⚠️⚠️ 此镜像由社区志愿者维护,专为专家使用设计。如需快速部署并支持全套 Nextcloud Hub 功能,请使用由 Nextcloud GmbH 维护的 Nextcloud All-in-One Docker 容器。
维护者:
Nextcloud 社区
获取帮助:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
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 网络服务器。它易于使用,能快速启动运行。这也是 latest 标签和未指定进一步说明的版本标签的默认选择。
第二种选择是 fpm 容器。它基于 php-fpm 镜像,运行 FastCGI 进程来提供 Nextcloud 页面服务。要使用此镜像,必须结合任何能将 HTTP 请求代理到容器 FastCGI 端口的网络服务器。
apache 镜像包含网络服务器并暴露 80 端口。启动容器的命令如下:
console$ docker run -d -p 8080:80 i386/nextcloud
现在你可以从主机系统通过 http://localhost:8080/ 访问 Nextcloud。
要使用 fpm 镜像,你需要额外的网络服务器,例如 nginx,它能将 HTTP 请求代理到容器的 FastCGI 端口。此容器暴露 9000 端口用于 fpm 连接。在大多数情况下,你可能需要使用另一个容器或主机作为代理。如果使用主机,可以直接通过 9000 端口访问 Nextcloud 容器。如果使用另一个容器,确保它们添加到同一个 Docker 网络(通过 docker run --network <NAME> ... 或 compose.yaml 文件)。在这两种情况下,都不需要将 fpm 端口映射到主机。
console$ docker run -d i386/nextcloud:fpm
由于 FastCGI 进程无法提供静态文件(样式表、图片等),网络服务器需要访问这些文件。这可以通过 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 数据存放位置console$ docker run -d \ -v nextcloud:/var/www/html \ i386/nextcloud
数据库:
/var/lib/mysql MySQL / MariaDB 数据/var/lib/postgresql/data PostgreSQL 数据console$ 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> 主题/品牌标识如果你想为所有这些使用命名卷,命令如下:
console$ 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> \ i386/nextcloud
如果在 /var/www/html 下挂载额外卷,你应考虑:
/var/www/html 之外的位置。请注意,主文件夹 (
/var/www/html) 内的数据在安装和升级期间会被覆盖/删除,除非在 upgrade.exclude 中列出。***支持的额外卷已包含在该列表中,但自定义卷需要你自行添加。建议将自定义存储卷挂载到/var/www/html之外,并且如果可能设为只读,这样就无需进行此调整。不过,如果你必须这样做,可以构建包含修改后的/upgrade.exclude文件的自定义镜像,以纳入你的自定义卷。
要使用 Nextcloud 命令行界面(即 occ 命令):
console$ docker exec --user www-data CONTAINER_ID php occ
对于 docker compose:
console$ 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 部分。
如果你设置了特定数据库的所有环境变量(例如上述 MYSQL 的所有变量),则可以通过设置管理员用户和密码(仅在同时设置两者时有效)来额外配置 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、MAIL_FROM_ADDRESS 和 MAIL_DOMAIN 才能应用配置
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429