办公应用 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:pass@mailserver.example.com:25
      - MAIL_FROM=wekan-admin@example.com
      - 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. 内存管理:办公应用可能占用较多内存,可以给容器设置内存限制

yaml services: app: deploy: resources: limits: memory: 1G 4. 数据持久化:所有重要数据都应该通过volumes挂载到NAS存储上,避免容器删除导致数据丢失 5. 网络配置:如果应用间需要互相访问,考虑创建自定义Docker网络

常见问题解答

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

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

❓ 应用运行缓慢怎么办?

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

❓ 如何完全卸载应用?

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

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

# 手动删除数据目录(谨慎操作!)
rm -rf 数据目录
← 返回归档