本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
⚠️⚠️⚠️ 此镜像由社区志愿者维护,专为专家用户设计。如需快速部署并支持全套Nextcloud Hub功能,请使用由Nextcloud GmbH维护的Nextcloud All-in-One Docker容器。
维护者:
Nextcloud社区
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux或Stack Overflow
Dockerfile链接30.0.16-fpm-alpine, 30.0-fpm-alpine, 30-fpm-alpine
31.0.9-fpm-alpine, 31.0-fpm-alpine, 31-fpm-alpine, stable-fpm-alpine, production-fpm-alpine
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 是一个安全的个人数据中心,可从任何设备访问和共享文件、日历、联系人、邮件等,完全由您掌控。
Nextcloud.com
此 Docker 微服务镜像由 Nextcloud 社区开发和维护。Nextcloud GmbH 不为此 Docker 镜像提供支持。如需专业支持,您可以成为企业客户或使用AIO。
本镜像设计用于微服务环境,提供两种版本供选择:
apache 标签包含完整的 Nextcloud 安装,内置 Apache Web 服务器,易于使用,可快速启动。latest 标签及未指定后缀的版本标签默认使用此版本。
fpm 标签基于 php-fpm 镜像,运行 FastCGI 进程处理 Nextcloud 请求,需配合外部 Web 服务器(如 Nginx)使用。
apache 镜像内置 Web 服务器,暴露 80 端口。启动容器命令:
$ docker run -d -p 8080:80 arm32v6/nextcloud
现在可通过 http://localhost:8080/ 访问 Nextcloud。
fpm 镜像需配合外部 Web 服务器(如 Nginx),通过 FastCGI 端口 9000 代理请求。因 FastCGI 无法处理静态文件(样式表、图片等),Web 服务器需访问容器内的静态文件(可通过 volumes-from 实现,详见 Docker Compose 部分)。
启动 fpm 容器(无需映射端口到主机):
$ docker run -d arm32v6/nextcloud:fpm
默认情况下,容器使用 SQLite 存储数据,但 Nextcloud 安装向导(首次运行时显示)支持连接现有 MySQL/MariaDB 或 PostgreSQL 数据库。也可链接数据库容器(如 --link my-mysql:mysql),安装时使用 mysql 作为数据库主机。更多信息见 Docker Compose 部分。
Nextcloud 安装文件及数据库外的所有数据(如上传文件)存储在匿名卷 /var/www/html 中。为便于升级和备份,建议使用命名卷或主机目录挂载:
/var/www/html/:存储 Nextcloud 所有数据$ docker run -d \ -v nextcloud:/var/www/html \ arm32v6/nextcloud
/var/lib/mysql/var/lib/postgresql/data$ 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/<自定义主题名>:主题文件示例(挂载所有子目录):
$ 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/<自定义主题名> \ arm32v6/nextcloud
在 /var/www/html 下挂载自定义卷时,需确保 upgrade.exclude 包含需保留的文件/目录,或挂载到 /var/www/html 外部。升级时 /var/www/html 内未在 upgrade.exclude 中的文件可能被覆盖。
通过 occ 命令管理 Nextcloud:
$ docker exec --user www-data 容器ID php occ
Docker Compose 环境:
$ docker compose exec --user www-data app php occ
可通过环境变量预配置安装参数,支持 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,自定义命令时需设为 1)NEXTCLOUD_INIT_HTACCESS:初始化时更新 htaccess(设为 true 启用)需独立 Redis 容器,通过以下变量配置:
REDIS_HOST:Redis 容器名REDIS_HOST_PORT:Redis 端口(默认:6379)REDIS_HOST_PASSWORD:Redis 密码(默认未设置)SMTP_HOST:SMTP 服务器主机名SMTP_SECURE:加密方式(ssl 或 tls,默认空)SMTP_PORT:端口(默认:SSL 为 465,非加密为 25)SMTP_AUTHTYPE:认证方式(默认:LOGIN)SMTP_NAME:SMTP 用户名SMTP_PASSWORD:SMTP 密码MAIL_FROM_ADDRESS:发件人地址前缀MAIL_DOMAIN:发件人域名PHP_MEMORY_LIMIT:PHP 内存限制(默认 512M)PHP_UPLOAD_LIMIT:上传文件大小限制(默认 512M)APACHE_BODY_LIMIT:Apache 请求体大小限制(默认 1073741824 [1GiB],0 为无限制)支持 5 种钩子(脚本需为 .sh 格式且可执行,存放于 /docker-entrypoint-hooks.d 对应子目录):
pre-installation:安装前执行post-installation:安装后执行pre-upgrade:升级前执行post-upgrade:升级后执行before-starting:启动前执行示例(Docker Compose 挂载钩子目录):
services: app: image: arm32v6/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 头。如需配置反向代理,可通过以下变量:
APACHE_DISABLE_REWRITE_IP:设为 1 禁用 IP 重写TRUSTED_PROXIES:可信代理列表(空格分隔,支持 CIDR)OVERWRITEHOST、OVERWRITEPROTOCOL 等:手动覆盖代理主机、协议等(详见 Nextcloud 文档)推荐使用 compose.yaml 配置完整环境(包含数据库、持久化卷等)。
适用于内部网络,无 SSL 加密(建议配合外部代理使用)。需替换 MYSQL_ROOT_PASSWORD 和 MYSQL_PASSWORD 为实际值。
volumes: 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: arm32v6/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/ 访问。
注意:完整文档超出 Docker Hub 长度限制,更多详情见 GitHub。
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429