
如果你使用 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 Hub功能,请使用由Nextcloud GmbH维护的https://github.com/nextcloud/all-in-one#nextcloud-all-in-one%E3%80%82
维护者:
https://github.com/nextcloud/docker
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
https://github.com/nextcloud/docker/blob/50bf6dc8f95729b95d6313edff8fb***ce/30/apache/Dockerfile
https://github.com/nextcloud/docker/blob/50bf6dc8f95729b95d6313edff8fb***ce/30/fpm/Dockerfile
https://github.com/nextcloud/docker/blob/50bf6dc8f95729b95d6313edff8fb***ce/30/fpm-alpine/Dockerfile
https://github.com/nextcloud/docker/blob/50bf6dc8f95729b95d6313edff8fb***ce/31/apache/Dockerfile
https://github.com/nextcloud/docker/blob/50bf6dc8f95729b95d6313edff8fb***ce/31/fpm/Dockerfile
https://github.com/nextcloud/docker/blob/50bf6dc8f95729b95d6313edff8fb***ce/31/fpm-alpine/Dockerfile
https://github.com/nextcloud/docker/blob/50bf6dc8f95729b95d6313edff8fb***ce/32/apache/Dockerfile
https://github.com/nextcloud/docker/blob/50bf6dc8f95729b95d6313edff8fb***ce/32/fpm/Dockerfile
https://github.com/nextcloud/docker/blob/50bf6dc8f95729b95d6313edff8fb***ce/32/fpm-alpine/Dockerfile
问题反馈地址:
https://github.com/nextcloud/docker/issues?q=
支持的架构:(https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/nextcloud/, https://hub.docker.com/r/arm32v5/nextcloud/, https://hub.docker.com/r/arm32v6/nextcloud/, https://hub.docker.com/r/arm32v7/nextcloud/, https://hub.docker.com/r/arm64v8/nextcloud/, https://hub.docker.com/r/i386/nextcloud/, https://hub.docker.com/r/ppc64le/nextcloud/, https://hub.docker.com/r/riscv64/nextcloud/, https://hub.docker.com/r/s390x/nextcloud/
镜像制品详情:
https://github.com/docker-library/repo-info/blob/master/repos/nextcloud (https://github.com/docker-library/repo-info/commits/master/repos/nextcloud)
(镜像元数据、传输大小等)
镜像更新:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fnextcloud
https://github.com/docker-library/official-images/blob/master/library/nextcloud (https://github.com/docker-library/official-images/commits/master/library/nextcloud)
本文档来源:
https://github.com/docker-library/docs/tree/master/nextcloud (https://github.com/docker-library/docs/commits/master/nextcloud)
你的所有数据的安全家园。通过任何设备按你的方式访问和共享文件、日历、联系人、邮件等。
Nextcloud.com
此Docker微服务镜像由Nextcloud社区开发和维护。Nextcloud GmbH不为此Docker镜像提供支持。如需专业支持,你可以成为企业客户或使用https://github.com/nextcloud/all-in-one#nextcloud-all-in-one%E3%80%82
此镜像设计用于微服务环境。你可以选择两种版本的镜像:
apache标签包含完整的Nextcloud安装,包括Apache Web服务器。它易于使用,能快速启动。这也是latest标签和未指定进一步说明的版本标签的默认选项。
第二个选项是fpm容器。它基于https://hub.docker.com/_/php/%E9%95%9C%E5%83%8F%EF%BC%8C%E8%BF%90%E8%A1%8CFastCGI%E8%BF%9B%E7%A8%8B%E6%9D%A5%E6%8F%90%E4%BE%9BNextcloud%E9%A1%B5%E9%9D%A2%E3%80%82%E4%BD%BF%E7%94%A8%E6%AD%A4%E9%95%9C%E5%83%8F%E6%97%B6%EF%BC%8C%E5%BF%85%E9%A1%BB%E4%B8%8E%E8%83%BD%E5%B0%86HTTP%E8%AF%B7%E6%B1%82%E4%BB%A3%E7%90%86%E5%88%B0%E5%AE%B9%E5%99%A8FastCGI%E7%AB%AF%E5%8F%A3%E7%9A%84%E4%BB%BB%E4%BD%95Web%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%BB%93%E5%90%88%E4%BD%BF%E7%94%A8%E3%80%82
apache镜像包含Web服务器并暴露80端口。启动容器的命令如下:
console$ docker run -d -p 8080:80 nextcloud
现在你可以从主机系统通过http://localhost:8080/访问Nextcloud。
使用fpm镜像需要额外的Web服务器,例如nginx,它能将HTTP请求代理到容器的fpm端口。fpm连接的容器暴露9000端口。在大多数情况下,你可能希望使用另一个容器或主机作为代理。如果使用主机,可以直接通过9000端口访问Nextcloud容器;如果使用另一个容器,确保它们添加到同一Docker网络(通过docker run --network <NAME> ...或compose.yaml文件)。在这两种情况下,都不需要将fpm端口映射到主机。
console$ docker run -d 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数据存放于此console$ docker run -d \ -v nextcloud:/var/www/html \ 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> \ nextcloud
如果在/var/www/html下挂载额外卷,应考虑:
/var/www/html之外的位置。请注意,除非在https://github.com/nextcloud/docker/blob/master/upgrade.exclude%E4%B8%AD%E5%88%97%E5%87%BA%EF%BC%8C%E5%90%A6%E5%88%99%E4%B8%BB%E6%96%87%E4%BB%B6%E5%A4%B9%EF%BC%88%60/var/www/html%60%EF%BC%89%E5%86%85%E7%9A%84%E6%95%B0%E6%8D%AE%E5%9C%A8%E5%AE%89%E8%A3%85%E5%92%8C%E5%8D%87%E7%BA%A7%E6%9C%9F%E9%97%B4%E4%BC%9A%E8%A2%AB%E8%A6%86%E7%9B%96/%E5%88%A0%E9%99%A4%E3%80%82%E5%AE%98%E6%96%B9%E6%94%AF%E6%8C%81%E7%9A%84%E9%A2%9D%E5%A4%96%E5%8D%B7%E5%B7%B2%E5%9C%A8%E8%AF%A5%E5%88%97%E8%A1%A8%E4%B8%AD%EF%BC%8C%E4%BD%86%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8D%B7%E9%9C%80%E8%A6%81%E4%BD%A0%E8%87%AA%E8%A1%8C%E6%B7%BB%E5%8A%A0%E3%80%82%E5%BB%BA%E8%AE%AE%E5%B0%86%E8%87%AA%E5%AE%9A%E4%B9%89%E5%AD%98%E5%82%A8%E5%8D%B7%E6%8C%82%E8%BD%BD%E5%88%B0%60/var/www/html%60%E4%B9%8B%E5%A4%96%E7%9A%84%E4%BD%8D%E7%BD%AE%EF%BC%8C%E5%B9%B6%E5%B0%BD%E5%8F%AF%E8%83%BD%E8%AE%BE%E4%B8%BA%E5%8F%AA%E8%AF%BB%EF%BC%8C%E4%BB%A5%E9%81%BF%E5%85%8D%E6%AD%A4%E8%B0%83%E6%95%B4%E3%80%82%E5%A6%82%E6%9E%9C%E5%BF%85%E9%A1%BB%E5%9C%A8%60/var/www/html%60%E4%B8%8B%E6%8C%82%E8%BD%BD%EF%BC%8C%E4%BD%A0%E5%8F%AF%E4%BB%A5%E6%9E%84%E5%BB%BA%E5%8C%85%E5%90%AB%E4%BF%AE%E6%94%B9%E5%90%8E%E7%9A%84%60/upgrade.exclude%60%E6%96%87%E4%BB%B6%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E9%95%9C%E5%83%8F%EF%BC%8C%E4%BB%A5%E7%BA%B3%E5%85%A5%E4%BD%A0%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8D%B7%E3%80%82
要使用Nextcloud命令行界面(即occ命令):
console$ docker exec --user www-data 容器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 使用PostgreSQL的数据库名称POSTGRES_USER 使用PostgreSQL的数据库用户名POSTGRES_PASSWORD 使用PostgreSQL的数据库用户密码POSTGRES_HOST 使用PostgreSQL的数据库服务器主机名作为通过环境变量传递敏感信息的替代方法,可以在上述环境变量后附加_FILE,使初始化脚本从容器中存在的文件加载这些变量的值。详见下面的Docker Secrets部分。
如果设置了任何一组值(即MYSQL_DATABASE、MYSQL_USER、MYSQL_PASSWORD、MYSQL_HOST全部设置),首次运行时安装页面将不会询问这些内容。通过为数据库类型设置所有变量完成配置后,你还可以通过设置管理员用户和密码(仅在两者都设置时有效)来配置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文件中创建单独的https://hub.docker.com/_/redis/%E5%AE%B9%E5%99%A8%E3%80%82%E8%A6%81%E9%80%9A%E7%9F%A5Nextcloud%E6%9C%89%E5%85%B3Redis%E5%AE%B9%E5%99%A8%E7%9A%84%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E4%BC%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E5%8F%82%E6%95%B0%EF%BC%9A
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使用STARTTLSSMTP_PORT(默认:SSL为465,非安全连接为25)SMTP连接的可选端口,STARTTLS可使用587SMTP_AUTHTYPE(默认:LOGIN)认证方法,无需认证时使用PLAINSMTP_NAME(默认空)认证用户名SMTP_PASSWORD(默认空)认证密码MAIL_FROM_ADDRESS(默认未设置)Nextcloud发送邮件中“发件人”字段的本地部分MAIL_DOMAIN(默认未设置)邮件使用的域名(不同于Nextcloud安装的域名)应用配置至少需要设置SMTP_HOST、MAIL_FROM_ADDRESS和MAIL_DOMAIN。
有关配置SMTP的其他值,请查看Nextcloud文档。
要使用外部S3兼容对象存储作为主存储,设置以下变量:
OBJECTSTORE_S3_BUCKET Nextcloud存储数据的存储桶名称OBJECTSTORE_S3_REGION S3存储桶所在的区域OBJECTSTORE_S3_HOST 对象存储服务器的主机名OBJECTSTORE_S3_PORT 对象存储服务器的端口您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务