⚠️⚠️⚠️ 此镜像由社区志愿者维护,专为专家级使用设计。如需快速轻松部署并支持全套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 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务