如果你使用 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/issues?q=
支持的架构:(https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/nextcloud/%E3%80%81https://hub.docker.com/r/arm32v5/nextcloud/%E3%80%81https://hub.docker.com/r/arm32v6/nextcloud/%E3%80%81https://hub.docker.com/r/arm32v7/nextcloud/%E3%80%81https://hub.docker.com/r/arm64v8/nextcloud/%E3%80%81https://hub.docker.com/r/i386/nextcloud/%E3%80%81https://hub.docker.com/r/ppc64le/nextcloud/%E3%80%81https://hub.docker.com/r/riscv64/nextcloud/%E3%80%81https://hub.docker.com/r/s390x/nextcloud/
Nextcloud是一个自托管的数据平台,可让您从任何设备访问和共享文件、日历、联系人、邮件等数据,完全由您掌控。
Nextcloud官网
此Docker微服务镜像由Nextcloud社区开发和维护,Nextcloud GmbH不为此Docker镜像提供支持。如需专业支持,可成为企业客户或使用https://github.com/nextcloud/all-in-one#nextcloud-all-in-one%E3%80%82
该镜像设计用于微服务环境,提供两种版本:
latest标签及未指定后缀版本标签的默认选择。apache镜像包含Web服务器,暴露80端口。启动容器命令:
console$ docker run -d -p 8080:80 ppc64le/nextcloud
启动后可通过http://localhost:8080/访问Nextcloud。
fpm镜像需配合外部Web服务器(如Nginx)使用,暴露9000端口。启动容器命令:
console$ docker run -d ppc64le/nextcloud:fpm
由于FastCGI进程无法处理静态文件(样式表、图片等),Web服务器需通过volumes-from选项访问这些文件(详见Docker Compose部分)。
默认情况下,容器使用SQLite存储数据,但Nextcloud设置向导(首次运行时出现)支持连接现有MySQL/MariaDB或PostgreSQL数据库。也可链接数据库容器(如--link my-mysql:mysql),设置时使用mysql作为数据库主机。
Nextcloud安装及数据库之外的数据(文件上传等)存储在未命名Docker卷/var/www/html中,即使容器崩溃、停止或删除,数据仍会保留。建议使用命名卷或主机目录挂载以方便升级和备份。
Nextcloud数据卷
/var/www/html/:Nextcloud所有数据存储目录console$ docker run -d \ -v nextcloud:/var/www/html \ ppc64le/nextcloud
数据库数据卷
/var/lib/mysql/var/lib/postgresql/dataconsole$ docker run -d \ -v db:/var/lib/mysql \ mariadb:10.6
额外卷
如需细粒度访问文件,可挂载以下额外卷:
/var/www/html/custom_apps:已安装/修改的应用/var/www/html/config:本地配置/var/www/html/data:用户数据/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> \ ppc64le/nextcloud
注意:
/var/www/html目录下的数据在安装和升级时可能被覆盖/删除,除非在https://github.com/nextcloud/docker/blob/master/upgrade.exclude%E4%B8%AD%E5%88%97%E5%87%BA%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%8C%85%E5%90%AB%E5%9C%A8%E5%86%85%EF%BC%8C%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8D%B7%E9%9C%80%E8%87%AA%E8%A1%8C%E6%B7%BB%E5%8A%A0%EF%BC%8C%E5%BB%BA%E8%AE%AE%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%E5%B9%B6%E8%AE%BE%E4%B8%BA%E5%8F%AA%E8%AF%BB%E3%80%82
执行occ命令:
console$ docker exec --user www-data 容器ID php occ
Docker Compose环境:
console$ docker compose exec --user www-data app php occ
Nextcloud镜像支持通过环境变量自动配置,避免首次运行时的安装向导。需为所选数据库类型指定所有必要环境变量,支持SQLite、MySQL/MariaDB、PostgreSQL。
数据库配置
SQLite:
SQLITE_DATABASE:SQLite数据库名称MySQL/MariaDB:
MYSQL_DATABASE:数据库名称MYSQL_USER:数据库用户名MYSQL_PASSWORD:数据库密码MYSQL_HOST:数据库主机名PostgreSQL:
POSTGRES_DB:数据库名称POSTGRES_USER:数据库用户名POSTGRES_PASSWORD:数据库密码POSTGRES_HOST:数据库主机名管理员配置
指定管理员账户(需同时设置):
NEXTCLOUD_ADMIN_USER:管理员用户名NEXTCLOUD_ADMIN_PASSWORD:管理员密码数据目录配置
NEXTCLOUD_DATA_DIR:数据存储目录(默认:/var/www/html/data)可信域名
NEXTCLOUD_TRUSTED_DOMAINS:空格分隔的可信域名列表(默认未设置)其他配置
NEXTCLOUD_UPDATE:启用安装/更新(默认:0,仅在使用默认命令apache-foreground或php-fpm时触发)NEXTCLOUD_INIT_HTACCESS:设置为true以在容器初始化后执行occ maintenance:update:htaccess(默认未设置)REDIS_HOST:Redis容器名称(推荐用于防止文件锁定问题)REDIS_HOST_PORT:Redis端口(默认:6379)REDIS_HOST_PASSWORD:Redis密码(默认未设置)SMTP_HOST、SMTP_SECURE、SMTP_PORT等:SMTP服务器配置(用于邮件发送)PHP_MEMORY_LIMIT:PHP内存限制(默认:512M)PHP_UPLOAD_LIMIT:PHP上传限制(默认:512M)APACHE_BODY_LIMIT:Apache请求体大小限制(默认:1073741824 [1GiB])支持5种钩子,脚本需位于容器内/docker-entrypoint-hooks.d目录下对应子文件夹,以.sh结尾且可执行:
pre-installation:Nextcloud安装/初始化前执行post-installation:Nextcloud安装/初始化后执行pre-upgrade:Nextcloud升级前执行post-upgrade:Nextcloud升级后执行before-starting:Nextcloud启动前执行示例:通过卷挂载主机脚本
yamlservices: app: image: ppc64le/nextcloud:stable volumes: - ./app-hooks/pre-installation:/docker-entrypoint-hooks.d/pre-installation - ./app-hooks/post-installation:/docker-entrypoint-hooks.d/post-installation - ./app-hooks/pre-upgrade:/docker-entrypoint-hooks.d/pre-upgrade - ./app-hooks/post-upgrade:/docker-entrypoint-hooks.d/post-upgrade - ./app-hooks/before-starting:/docker-entrypoint-hooks.d/before-starting
默认情况下,apache镜像会将来自10.0.0.0/8、172.16.0.0/12或192.168.0.0/16网段代理的请求的远程地址替换为X-Real-IP。如需让Nextcloud从可信代理获取主机名、协议和客户端IP,需设置:
APACHE_DISABLE_REWRITE_IP:设为1禁用IP重写TRUSTED_PROXIES:空格分隔的可信代理列表(支持IPv4 CIDR表示法)也可通过以下环境变量设置固定覆盖参数:
OVERWRITEHOST:代理主机名(可带端口)OVERWRITEPROTOCOL:代理协议(http或https)OVERWRITECLIURL:代理CLI URL(如https://mydnsname.example.com)OVERWRITEWEBROOT:代理绝对路径OVERWRITECONDADDR:基于远程地址覆盖值的正则表达式使用compose.yaml文件可快速搭建完整功能的Nextcloud环境,以下为基础示例。
此配置使用apache镜像和MariaDB容器,卷用于持久化数据,无SSL加密,适用于代理后运行。运行前需设置MYSQL_ROOT_PASSWORD和MYSQL_PASSWORD的值。
yamlvolumes: nextcloud: db: services: db: image: mariadb:10.6 restart: always command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW volumes: - db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=设置_root密码 - MYSQL_PASSWORD=设置_nextcloud数据库密码 - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud app: image: ppc64le/nextcloud restart: always ports: - 8080:80 links: - db volumes: - nextcloud:/var/www/html environment: - MYSQL_PASSWORD=设置_nextcloud数据库密码 - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=db
启动命令:
console$ docker compose up -d
启动后通过http://localhost:8080/访问Nextcloud。
amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390x以下是 ppc64le/nextcloud 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务