概述
在数字化时代,数据存储与协同办公的安全性、便捷性愈发重要。国内网盘普遍存在限速、隐私风险等问题,企业内部文件共享也面临权限管理、传输限制等挑战。本文将手把手教你通过 Docker 容器技术,在本地快速部署一套功能完备的 NextCloud 个人网盘系统,并集成 OnlyOffice 实现在线协同编辑,结合内网穿透实现公网访问,全程仅需一周即可完成,适合个人用户与中小企业搭建私有云解决方案。
项目组织方式及时间
- 时间:建议一周内完成所有的项目搭建、功能测试、问题总结
- 方式:通过VmWare17虚拟机实现平台搭建
一、项目背景知识
日常工作与生活中,我们常面临这些痛点:
- 公共网盘限速严重、隐私数据有被泄露或删除的风险;
- 微信 / QQ 传输文件有大小限制,企业机密文件直接- 传输存在安全隐患;
- 团队内部文件共享需要精细化权限管理,不同部门访问权限需隔离;
- 跨设备办公时,文件同步与在线编辑需求强烈,但传统方案配置复杂。
NextCloud + Docker 的组合为这些问题提供了完美解决方案:
- NextCloud 是开源的私有云存储系统,支持本地部署,数据完全自主掌控;
- 支持多设备同步、精细化权限管理,可集成在线办公工具实现协同编辑;
- Docker 容器技术确保环境一致性,简化部署流程,实现 "一次配置,处处运行"。
二、技术基础:Docker 容器技术核心概念
1.Docker 解决的核心问题
- 开发与部署中最常见的问题是 “在我电脑上能运行,换台机器就报错”。这源于环境配置的差异(如依赖库版本、系统参数等)。Docker 通过 “软件带环境安装” 的思路,将应用及其依赖的系统环境打包成标准化容器,实现跨平台、跨设备的无缝移植。
- 简单说,Docker 就像 “数字化集装箱”:无论内部装的是 Web 应用、数据库还是办公工具,都能通过统一的容器格式运输、部署,避免环境差异导致的兼容问题。

2.docker理念
- Docker是基于Go语言实现的云开源项目。
- Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”。
- Linux容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。将应用打成镜像,通过镜像成为运行在Docker容器上面的实例,而 Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。
- 一句话定义docker:解决了运行环和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。

3.docker三要素
- 镜像(Image):只读模板,包含运行应用所需的所有文件(代码、库、配置等),是容器的 “源代码”。
- 容器(Container):镜像的运行实例,可理解为一个轻量的 Linux 环境(包含进程空间、网络等),应用在容器中独立运行。
- 仓库(Repository):集中存储、分发镜像的平台(如 Docker Hub),方便用户获取现成的应用镜像。
4.为什么选择 Docker 部署 NextCloud?
- 部署高效:无需手动配置复杂依赖(如 PHP、数据库、Web 服务器),拉取镜像即可启动;
- 环境隔离:NextCloud、数据库、OnlyOffice 等组件通过容器隔离,互不干扰,便于维护;
- 迁移灵活:容器可快速复制到其他设备,只需保证 Docker 环境,即可一键启动,避免重复配置。
docker常用命令
docker version # 查看 docker 版本号等信息
docker info # 查看 docker 版本号等信息
docker images # 查看镜像
docker search 镜像名 # 仓库中查看镜像
docker pull 镜像名 # 拉取镜像
docker run 镜像名 # 运行镜像
docker rmi -f 镜像名/镜像ID # 强制删除一个镜像
docker ps -a # 查看容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] # 创建容器
-d: 后台运行容器并返回容器ID
-it:启动交互式容器
-p: 指定端口映射
docker start 容器名 # 启动容器
docker stop 容器名 # 停止容器
docker restart 容器名 # 重启容器
docker inspect 容器名:latest | grep -i version # 查看容器latest具体版本号
docker rm -f 容器ID # 强制删除容器
Nextcloud

-
众所周知,国内很多网盘都关停了,现有的百度云还限速,甚至网盘里的文件还会被删除,网盘使用体验差、安全性堪忧。
-
团队内部分享文件,用微信传输有大小限制,且只能通过公网上传下载;用 QQ 传输虽然可以通过内网传输,但是有的文件是公司的机密,直接传输有泄露的风险,打包加密传输又太麻烦;并且不同部门对文档的操作权限也应该是不同的。
-
Nextcloud就是这么一套系统,既能够部署在局域网环境,又可以设置不同用户组对文档的访问权限,还可以实现内网 + 公网访问
-
Nextcloud是一套用于创建网络硬盘的客户端-服务器软件。其功能与Dropbox相近,但Nextcloud是自由及开放原始码软件,每个人都可以在私人服务器上安装并执行它。在安全性,多客户端支持与多应用支持上也非常具有优势。
onlyoffice
- 网址:https://www.onlyoffice.com/zh/
- OnlyOffice是一款开源的办公套件,提供了文档编辑、电子表格和演示文稿等功能,支持在线协作和文件共享。它通过网页浏览器即可访问和编辑各种文档,适合企业和个人用户在不同地点高效工作

cpolar
- 一款免费的内网穿透软件
- 只需一行命令,就可以将内网站点发布至公网,方便给客户演示。高效调试微信公众号、小程序、对接支付宝网关等云端服务,提高您的编程效率
三、项目规划:目标与环境准备
项目目标
- 搭建基于 OpenEuler 系统的虚拟机环境;
- 利用 Docker 部署 NextCloud 网盘、MySQL 数据库、OnlyOffice 在线编辑器;
- 实现本地访问测试、多用户权限管理、在线文档编辑功能;
- 配置内网穿透,实现公网访问私有网盘。
软硬件环境清单
- 使用单台虚拟机实现
| 主机名 | IP地址 | 硬件 | 软件 |
|---|---|---|---|
| nextcloud | 192.168.88.203 | cpu:1颗2核 内 存:4GB HDD:20GB 网 络:NAT |
VmWare17 OpenEuler22.03sp4 docker26.1.4 mysql8.0.37 nextcloud30.0.6 OnlyOffice24.04 OnlyOffice connector9.6 |
任务清单
项目环境搭建
-
新建OpenEuler22.03 SP4 虚拟机
-
按照规划,最小化部署系统,关闭防火墙,禁用SELinux,确保能够联网。
docker设置
-
安装docker源及docker服务
-
配置docker镜像加速器
-
docker拉取镜像
-
配置并启动容器
配置数据库
- 新建nextcloud数据库及所需表
- 创建账户和密码设置权限
配置nextcloud
- 安装nextcloud
- 设置其选项
- 测试访问
配置onlyoffice
- 启动容器
- 下载onlyoffice连

最低0.47元/天 解锁文章
4385

被折叠的 条评论
为什么被折叠?



