draw.io(现在称为 diagrams.net)是一款基于 Web 的开源图表绘制工具,支持创建流程图、网络拓扑图、组织结构图、UML 图等多种图形。它拥有直观的拖放界面,兼容 Google Drive、OneDrive、本地文件系统等多种存储服务,并支持丰富的导出格式(PNG、SVG、PDF 等)。无论是个人使用还是团队协作,draw.io 都是一款高效且免费的工具。

本文介绍如何通过 Docker 快速部署 draw.io 服务,使其在本地或服务器上运行,方便随时访问。

为什么选择 Docker 部署?

  • 环境隔离:无需在宿主机安装额外依赖,容器化运行更简洁。
  • 快速启动:一条命令即可拉起服务,无需手动配置 Java 或 Web 服务器。
  • 版本管理:轻松升级或回滚镜像版本。
  • 端口灵活:可自定义映射端口,避免与现有服务冲突。

部署步骤

1. 准备 Docker 环境

确保你的系统已安装 Docker 和 Docker Compose。如果尚未安装,请参考 Docker 官方文档 进行安装。

2. 编写 docker-compose.yml

创建一个项目目录,例如 drawio-docker,并在其中新建文件 docker-compose.yml,内容如下:

services:
  drawio:
    image: jgraph/drawio:latest
    restart: unless-stopped
    ports:
      - "11080:8080"

参数说明:

  • image: jgraph/drawio:latest:使用官方最新镜像(也可指定具体版本,如 24.2.5)。
  • restart: unless-stopped:容器退出时自动重启,除非手动停止。
  • ports: "11080:8080":将宿主机的 11080 端口映射到容器内的 8080 端口(draw.io 默认监听端口)。

如果需要持久化存储绘图文件,可以添加卷挂载,但 draw.io 默认将数据保存在浏览器本地或云存储中,因此通常情况下无需挂载卷。

3. 启动服务

在 docker-compose.yml 所在目录下执行:

docker-compose up -d

等待镜像拉取并启动,出现类似 Creating drawio ... done 的信息即表示成功。

4. 访问 draw.io

打开浏览器,访问 http://<服务器IP>:11080。如果是在本地运行,访问 http://localhost:11080。你将看到 draw.io 的欢迎界面,选择“创建新图表”即可开始使用。

进阶配置

使用自定义端口

如果 11080 端口已被占用,可修改映射:

ports:
  - "8080:8080"   # 将宿主机 8080 映射到容器 8080

指定具体版本

建议使用固定版本号而非 latest,以保证环境一致性:

image: jgraph/drawio:24.2.5

启用 HTTPS

生产环境建议通过反向代理(如 Nginx)配置 SSL 证书,或使用 Docker 的 TLS 选项。

总结

通过 Docker 部署 draw.io 只需几行配置,即可获得一个功能完备的在线图表绘制工具。无论是个人学习、日常办公,还是团队协作,这都是一条快速、可靠的路径。draw.io 持续更新,支持多种图表类型和存储方式,值得尝试。

更多推荐