
如果你使用 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
Dockerfile链接警告:此镜像在mips64le架构上不受支持
问题反馈地址:
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/
镜像 artifact 详情:
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是一个安全的数据家园,可从任何设备访问和共享文件、日历、联系人、邮件等数据,完全由你掌控。
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%E9%9C%80%E9%85%8D%E5%90%88%E5%8F%AF%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%84Web%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%82
apache镜像包含Web服务器,暴露80端口。启动容器命令:
console$ docker run -d -p 8080:80 mips64le/nextcloud
现在可通过主机系统的http://localhost:8080/访问Nextcloud。
使用fpm镜像需额外的Web服务器(如nginx),将HTTP请求代理到容器的fpm端口。fpm容器暴露9000端口。通常无需将fpm端口映射到主机,而是通过Docker网络与Web服务器容器通信。
console$ docker run -d mips64le/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守护进程将数据存储在/var/lib/docker/volumes/...目录,即使容器崩溃、停止或删除,数据仍保留。
升级和备份时应使用命名卷或挂载主机目录。需为数据库容器和Nextcloud分别设置卷:
Nextcloud:
/var/www/html/:所有Nextcloud数据所在目录console$ docker run -d \ -v nextcloud:/var/www/html \ mips64le/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:用户文件数据/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> \ mips64le/nextcloud
在/var/www/html下挂载额外卷时,需注意:
/var/www/html之外的位置。注意:
/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%9C%A8%E5%88%97%E8%A1%A8%E4%B8%AD%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%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%EF%BC%8C%E4%B8%94%E5%B0%BD%E5%8F%AF%E8%83%BD%E8%AE%BE%E4%B8%BA%E5%8F%AA%E8%AF%BB%EF%BC%8C%E9%81%BF%E5%85%8D%E8%B0%83%E6%95%B4%E3%80%82%E5%A6%82%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%E9%9C%80%E6%9E%84%E5%BB%BA%E5%8C%85%E5%90%AB%E4%BF%AE%E6%94%B9%E5%90%8E%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%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_USER:数据库用户名MYSQL_PASSWORD:数据库用户密码MYSQL_HOST:数据库服务器主机名PostgreSQL:
POSTGRES_DB:数据库名称POSTGRES_USER:数据库用户名POSTGRES_PASSWORD:数据库用户密码POSTGRES_HOST:数据库服务器主机名作为通过环境变量传递敏感信息的替代方式,可在上述环境变量后附加
_FILE,使初始化脚本从容器内的文件加载值。
NEXTCLOUD_ADMIN_USER:管理员用户名(需与密码同时设置)NEXTCLOUD_ADMIN_PASSWORD:管理员密码(需与用户名同时设置)NEXTCLOUD_DATA_DIR(默认:/var/www/html/data):用户文件存储目录NEXTCLOUD_TRUSTED_DOMAINS(默认未设置):空格分隔的受信任域名列表NEXTCLOUD_UPDATE(默认:0):使用自定义命令时设为1启用安装/更新NEXTCLOUD_INIT_HTACCESS(默认未设置):设为true启用初始化时更新htaccessREDIS_HOST(默认未设置):Redis容器名称REDIS_HOST_PORT(默认:6379):Redis端口(仅用于非标准端口外部服务器)REDIS_HOST_PASSWORD(默认未设置):Redis密码(推荐使用Redis防止文件锁定)SMTP_HOST:SMTP服务器主机名SMTP_SECURE(默认空):ssl(SSL)或tls(STARTTLS)SMTP_PORT(默认:SSL为465,非安全为25):SMTP端口(STARTTLS推荐587)SMTP_AUTHTYPE(默认:LOGIN):认证方法(无需认证时用PLAIN)SMTP_NAME:认证用户名SMTP_PASSWORD:认证密码MAIL_FROM_ADDRESS:发件人本地部分MAIL_DOMAIN:发件人域名SMTP_HOST、MAIL_FROM_ADDRESS和MAIL_DOMAIN)S3兼容存储:
OBJECTSTORE_S3_BUCKET:存储桶名称OBJECTSTORE_S3_REGION:区域OBJECTSTORE_S3_HOST:服务器主机名OBJECTSTORE_S3_PORT:服务器端口OBJECTSTORE_S3_KEY/OBJECTSTORE_S3_SECRET:访问密钥/密钥OBJECTSTORE_S3_STORAGE_CLASS:存储类别OBJECTSTORE_S3_SSL(默认:true):是否使用SSLUSEPATH_STYLE、LEGACYAUTH、OBJECT_PREFIX、AUTOCREATE、SSE_C_KEYOpenStack Swift存储:
OBJECTSTORE_SWIFT_URL:身份端点OBJECTSTORE_SWIFT_USER_NAME/PASSWORD:用户名/密码OBJECTSTORE_SWIFT_PROJECT_NAME:项目名称OBJECTSTORE_SWIFT_REGION:区域OBJECTSTORE_SWIFT_CONTAINER_NAME:容器名称AUTOCREATE、USER_DOMAIN、PROJECT_DOMAIN、SERVICE_NAMEPHP_MEMORY_LIMIT(默认512M):脚本最大内存限制PHP_UPLOAD_LIMIT(默认512M):上传文件大小限制APACHE_BODY_LIMIT(默认1073741824 [1GiB]):Apache请求体大小限制(字节,0为无限制)提供5个钩子文件夹,存放.sh可执行脚本(仅根目录文件执行):
pre-installation:安装前post-installation:安装后pre-upgrade:升级前post-upgrade:升级后before-starting:启动前示例:通过卷挂载主机脚本:
yaml... app: image: mips64le/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。如需从受信任代理获取主机/协议/客户端IP:
APACHE_DISABLE_REWRITE_IP=1:禁用IP重写TRUSTED_PROXIES="代理IP/CIDR 列表":设置受信任代理或使用固定覆盖参数:
OVERWRITEHOST:代理主机名(可带端口)OVERWRITEPROTOCOL:协议(http/https)OVERWRITECLIURL:CLI访问URL(如https://example.com)OVERWRITEWEBROOT:绝对路径OVERWRITECONDADDR:基于远程地址的覆盖正则表达式使用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= - MYSQL_PASSWORD= - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud app: image: mips64le/nextcloud restart: always ports: - 8080:80 links: - db volumes: - nextcloud:/var/www/html environment: - MYSQL_PASSWORD= - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=db
运行docker compose up -d后通过http://localhost:8080/访问。
需配合nginx(静态文件访问通过volumes_from),无加密,运行前设置数据库密码。
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= - MYSQL_PASSWORD= - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud app: image: mips64le/nextcloud:fpm restart: always links: - db volumes: - nextcloud:/var/www/html environment: - MYSQL_PASSWORD= - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=db web: image: nginx restart: always ports: - 8080:80 links: - app
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 mips64le/nextcloud 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: