
如果你使用 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
Nextcloud是一个安全的数据存储与共享平台,支持从任何设备访问和管理文件、日历、联系人、邮件等数据。本Docker镜像为社区维护的微服务版本,适用于专家级部署,提供灵活的配置选项,但Nextcloud GmbH不提供官方支持。该镜像针对s390x架构构建,是官方Nextcloud镜像的特定架构版本。
apache(含Web服务器)和fpm(FastCGI进程)两种镜像版本,满足不同部署需求。pre-installation、post-upgrade等钩子文件夹,支持部署前后自定义脚本执行。适用于需要自定义微服务架构的专家用户,用于构建安全可控的数据管理平台。不推荐新手使用,建议需要完整功能支持和简易部署的用户选择Nextcloud官方All-in-One容器。
包含完整Nextcloud及Apache Web服务器,暴露80端口,适合快速启动:
console$ docker run -d -p 8080:80 s390x/nextcloud
访问http://localhost:8080即可进入Nextcloud初始化页面。
基于php-fpm,需配合外部Web服务器(如Nginx)反向代理至9000端口:
console$ docker run -d s390x/nextcloud:fpm
注意:fpm镜像无法直接提供静态文件服务,需Web服务器通过卷挂载访问/var/www/html目录。
Nextcloud数据默认存储于/var/www/html***卷,建议使用命名卷或主机目录挂载以确保数据持久化:
console$ docker run -d \ -v nextcloud:/var/www/html \ s390x/nextcloud
console$ docker run -d \ -v db:/var/lib/mysql \ mariadb:10.6
支持挂载细分目录以实现精细化管理:
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/mytheme \ # 自定义主题 s390x/nextcloud
默认使用SQLite,推荐通过环境变量或初始化向导配置外部数据库:
console$ docker run -d \ -e MYSQL_DATABASE=nextcloud \ -e MYSQL_USER=nextcloud \ -e MYSQL_PASSWORD=dbpass \ -e MYSQL_HOST=db \ --link db:db \ s390x/nextcloud
SQLITE_DATABASE(数据库名)MYSQL_DATABASE、MYSQL_USER、MYSQL_PASSWORD、MYSQL_HOSTPOSTGRES_DB、POSTGRES_USER、POSTGRES_PASSWORD、POSTGRES_HOST通过容器执行occ命令管理Nextcloud(需指定www-data用户):
console$ docker exec --user www-data CONTAINER_ID php occ
示例:列出用户
console$ docker exec --user www-data CONTAINER_ID php occ user:list
预配置管理员账户(需同时设置):
console$ docker run -d \ -e NEXTCLOUD_ADMIN_USER=admin \ -e NEXTCLOUD_ADMIN_PASSWORD=adminpass \ s390x/nextcloud
自定义数据存储路径:
console$ docker run -d \ -e NEXTCLOUD_DATA_DIR=/var/www/html/mydata \ -v data:/var/www/html/mydata \ s390x/nextcloud
设置允许访问的域名列表:
console$ docker run -d \ -e NEXTCLOUD_TRUSTED_DOMAINS="example.com localhost 192.168.1.1" \ s390x/nextcloud
启用Redis以解决文件锁定问题:
console$ docker run -d \ -e REDIS_HOST=redis \ -e REDIS_HOST_PASSWORD=redispass \ --link redis:redis \ s390x/nextcloud
配置外部SMTP服务器发送邮件:
console$ docker run -d \ -e SMTP_HOST=smtp.example.com \ -e SMTP_SECURE=tls \ -e SMTP_PORT=587 \ -e SMTP_NAME=user@example.com \ -e SMTP_PASSWORD=smtppass \ -e MAIL_FROM_ADDRESS=user \ -e MAIL_DOMAIN=example.com \ s390x/nextcloud
通过挂载钩子目录执行自定义脚本,支持以下钩子:
pre-installation:安装前post-installation:安装后pre-upgrade:升级前post-upgrade:升级后before-starting:启动前示例:挂载主机脚本目录至钩子文件夹
yamlservices: app: image: s390x/nextcloud:stable volumes: - ./hooks/pre-installation:/docker-entrypoint-hooks.d/pre-installation - ./hooks/post-upgrade:/docker-entrypoint-hooks.d/post-upgrade
要求:脚本需位于钩子目录根级,以.sh结尾且可执行。
通过环境变量配置反向代理信任及协议覆盖:
console$ docker run -d \ -e APACHE_DISABLE_REWRITE_IP=1 \ -e TRUSTED_PROXIES="192.168.1.0/24 172.17.0.1" \ s390x/nextcloud
console$ docker run -d \ -e OVERWRITEHOST=cloud.example.com:443 \ -e OVERWRITEPROTOCOL=https \ s390x/nextcloud
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=rootpass # 替换为安全密码 - MYSQL_PASSWORD=dbpass # 替换为安全密码 - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud app: image: s390x/nextcloud restart: always ports: - 8080:80 links: - db volumes: - nextcloud:/var/www/html environment: - MYSQL_PASSWORD=dbpass - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=db
启动服务:
console$ docker compose up -d
访问http://localhost:8080完成初始化。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 s390x/nextcloud 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: