跳到主要内容

办公应用Docker部署指南(零基础入门)

小贴士

不用担心!即使你是Docker新手,按照本指南的步骤操作,也能轻松在飞牛OS上部署常用办公应用。我们会用通俗易懂的语言带你一步步完成。

什么是Docker?为什么用它部署办公应用?

Docker就像是一个神奇的集装箱,它可以把应用程序和所有依赖打包在一起。这样,无论在哪里运行这个"集装箱",应用都能正常工作,不会出现"在我电脑上能运行"的尴尬情况。

对于NAS办公应用来说,使用Docker有这些好处:

  • 🚀 一键部署:几个命令就能搭建复杂应用
  • 🔒 安全隔离:每个应用互不影响,一个崩溃不会连累其他
  • 🔄 方便升级:更新时只需拉取新镜像,不会弄乱系统
  • 🧹 易于清理:不想用了直接删除容器和镜像,不留垃圾

准备工作

在飞牛OS上,Docker通常已经预装好了。我们只需要:

  1. 创建一个专门存放Docker配置的文件夹
mkdir -p ~/docker-apps
cd ~/docker-apps
  1. 了解docker-compose 我们将使用docker-compose来管理应用,它可以通过一个YAML文件定义和运行多个Docker容器。别担心,我们会提供现成的配置文件!

办公必备应用部署教程

1. 🗂️ Nextcloud - 你的私人云盘和办公套件

Nextcloud不仅是云盘,更是协作平台!可以管理文件、日历、联系人,甚至包含在线文档编辑。

步骤1:创建目录

mkdir -p ~/docker-apps/nextcloud
cd ~/docker-apps/nextcloud

步骤2:创建docker-compose.yml文件

nano docker-compose.yml

步骤3:粘贴以下内容

version: '3'
services:
nextcloud:
image: nextcloud:latest
container_name: nextcloud
ports:
- "8081:80"
volumes:
- ./nextcloud:/var/www/html
- ./apps:/var/www/html/custom_apps
- ./data:/var/www/html/data
environment:
- MYSQL_HOST=nextcloud-db
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=nextcloud_password
restart: always
depends_on:
- nextcloud-db

nextcloud-db:
image: mariadb:10.6
container_name: nextcloud-db
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root_password
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=nextcloud_password
restart: always

步骤4:启动Nextcloud

docker-compose up -d

步骤5:访问应用 打开浏览器,访问 http://你的NAS地址:8081 进行初始设置。


2. 📝 Joplin - 功能强大的笔记应用

Joplin是开源的笔记和待办事项应用,支持Markdown、文件附件和端到端加密。

步骤1:创建目录

mkdir -p ~/docker-apps/joplin
cd ~/docker-apps/joplin

步骤2:创建docker-compose.yml文件

nano docker-compose.yml

步骤3:粘贴以下内容

version: '3'
services:
joplin:
image: joplin/server:latest
container_name: joplin
ports:
- "22300:22300"
volumes:
- ./data:/data
environment:
- APP_PORT=22300
- APP_BASE_URL=http://你的NAS地址:22300
- DB_CLIENT=pg
- POSTGRES_PASSWORD=joplin
- POSTGRES_DATABASE=joplin
- POSTGRES_USER=joplin
- POSTGRES_PORT=5432
- POSTGRES_HOST=joplin-db
restart: always
depends_on:
- joplin-db

joplin-db:
image: postgres:13
container_name: joplin-db
volumes:
- ./postgres:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=joplin
- POSTGRES_USER=joplin
- POSTGRES_DB=joplin
restart: always

步骤4:启动Joplin

docker-compose up -d

步骤5:访问应用 打开浏览器,访问 http://你的NAS地址:22300 进行初始设置。


3. 📊 OnlyOffice - 专业级在线办公套件

OnlyOffice提供文档、表格和演示文稿的在线编辑功能,可以与Nextcloud集成。

步骤1:创建目录

mkdir -p ~/docker-apps/onlyoffice
cd ~/docker-apps/onlyoffice

步骤2:创建docker-compose.yml文件

nano docker-compose.yml

步骤3:粘贴以下内容

version: '3'
services:
onlyoffice:
image: onlyoffice/documentserver
container_name: onlyoffice
ports:
- "8082:80"
volumes:
- ./data:/var/www/onlyoffice/Data
- ./logs:/var/log/onlyoffice
environment:
- JWT_ENABLED=false
restart: always

步骤4:启动OnlyOffice

docker-compose up -d

步骤5:访问应用 打开浏览器,访问 http://你的NAS地址:8082 确认服务是否运行。

要将其与Nextcloud集成,请在Nextcloud中安装ONLYOFFICE应用并配置DocumentServer URL为 http://你的NAS地址:8082


4. 📅 Wekan - 简单好用的看板任务管理

Wekan是类似Trello的看板工具,帮助团队可视化管理任务和项目。

步骤1:创建目录

mkdir -p ~/docker-apps/wekan
cd ~/docker-apps/wekan

步骤2:创建docker-compose.yml文件

nano docker-compose.yml

步骤3:粘贴以下内容

version: '3'
services:
wekan:
image: quay.io/wekan/wekan
container_name: wekan
ports:
- "8083:8080"
environment:
- MONGO_URL=mongodb://wekan-db:27017/wekan
- ROOT_URL=http://你的NAS地址:8083
- MAIL_URL=smtp://user:[email protected]:25
- MAIL_FROM=wekan-[email protected]
- WITH_API=true
- BROWSER_POLICY_ENABLED=true
restart: always
depends_on:
- wekan-db

wekan-db:
image: mongo:5
container_name: wekan-db
volumes:
- ./data:/data/db
restart: always

步骤4:启动Wekan

docker-compose up -d

步骤5:访问应用 打开浏览器,访问 http://你的NAS地址:8083,注册管理员账号开始使用。

管理你的Docker应用

🔄 更新应用

应用更新非常简单,只需:

# 进入应用目录
cd ~/docker-apps/应用名称

# 拉取最新镜像
docker-compose pull

# 重启服务(应用会短暂停止)
docker-compose up -d

💾 备份数据

养成定期备份的好习惯:

# 备份Nextcloud数据(示例)
cd ~/docker-apps
tar -czf nextcloud-backup-$(date +%Y%m%d).tar.gz nextcloud/

🔍 查看应用日志

当应用出现问题时,查看日志是找到原因的关键:

# 查看实时日志(Ctrl+C停止查看)
docker-compose logs -f

# 查看最近50条日志
docker-compose logs --tail=50

小技巧与注意事项

  1. 修改密码:在部署前修改配置文件中的所有密码,别用示例中的默认密码

  2. 端口冲突:如果启动失败,可能是端口已被占用,修改配置文件中的端口(冒号左边的数字)

  3. 内存管理:办公应用可能占用较多内存,可以给容器设置内存限制

    services:
    app:
    deploy:
    resources:
    limits:
    memory: 1G
  4. 数据持久化:所有重要数据都应该通过volumes挂载到NAS存储上,避免容器删除导致数据丢失

  5. 网络配置:如果应用间需要互相访问,考虑创建自定义Docker网络

常见问题解答

❓ 为什么我的应用启动失败?

  • 检查端口是否被占用
  • 查看日志找出具体错误
  • 确认文件夹权限是否正确

❓ 应用运行缓慢怎么办?

  • 检查NAS资源使用情况
  • 考虑增加应用内存限制
  • 使用volume而非bind mount提高性能

❓ 如何完全卸载应用?

# 停止并删除容器
docker-compose down

# 删除相关镜像
docker rmi 镜像名称

# 手动删除数据目录(谨慎操作!)
rm -rf 数据目录