⚠️⚠️⚠️ 此镜像由社区志愿者维护,专为专家级使用设计。如需快速轻松部署并支持全套Nextcloud Hub功能,请使用由Nextcloud GmbH维护的Nextcloud All-in-One容器。
维护者:
Nextcloud社区
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
提交问题:
[***]
支持的架构:(更多信息)
amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390x
30.0.16-apache, 30.0-apache, 30-apache, 30.0.16, 30.0, 3030.0.16-fpm, 30.0-fpm, 30-fpm30.0.16-fpm-alpine, 30.0-fpm-alpine, 30-fpm-alpine31.0.9-apache, 31.0-apache, 31-apache, stable-apache, production-apache, 31.0.9, 31.0, 31, stable, production31.0.9-fpm, 31.0-fpm, 31-fpm, stable-fpm, production-fpm31.0.9-fpm-alpine, 31.0-fpm-alpine, 31-fpm-alpine, stable-fpm-alpine, production-fpm-alpine32.0.0-apache, 32.0-apache, 32-apache, apache, 32.0.0, 32.0, 32, latest32.0.0-fpm, 32.0-fpm, 32-fpm, fpm32.0.0-fpm-alpine, 32.0-fpm-alpine, 32-fpm-alpine, fpm-alpineNextcloud是一个自托管的数据平台,可让您从任何设备访问和共享文件、日历、联系人、邮件等数据,完全由您掌控。
Nextcloud官网
此Docker微服务镜像由Nextcloud社区开发和维护,Nextcloud GmbH不为此Docker镜像提供支持。如需专业支持,可成为企业客户或使用Nextcloud All-in-One。
该镜像设计用于微服务环境,提供两种版本:
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中,即使容器崩溃、停止或删除,数据仍会保留。建议使用命名卷或主机目录挂载以方便升级和备份。
/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目录下的数据在安装和升级时可能被覆盖/删除,除非在upgrade.exclude中列出。***支持的额外卷已包含在内,自定义卷需自行添加,建议挂载到/var/www/html之外的位置并设为只读。
执行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请求体大小限制(默认:*** [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(如[***])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、s390xlibrary/nextcloud标签nextcloud目录来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429