万能的开源制图利器 —— draw.io(diagrams.net)自托管与应用分享

在工作中,我们经常需要画各种图:流程图、UML、架构图、网络拓扑、业务逻辑、ER 模型......

常见工具有 Visio、ProcessOn、Lucidchart 等,但它们要么收费、要么依赖云服务,无法用于内网或保密环境。

有没有既开源、又免费、还能完全离线自托管的制图工具?
答案就是:draw.io(现名:diagrams.net)。


draw.io 是什么?

draw.io 是一款 开源、免费、功能强大的通用绘图工具,支持:

  • 流程图、组织结构图

  • UML、时序图、用例图

  • ER 数据库模型图

  • 网络拓扑、云架构图(AWS / Azure / GCP)

  • 软件架构图、服务关系图

  • BPMN、思维导图等

它同时提供:

✔ Web 在线版

✔ 桌面版(Windows、Mac、Linux)

✔ VSCode / Obsidian 插件

自托管服务器版(重点)

也就是说,你可以在自己的服务器上运行一个"公司内部的 draw.io",所有人不用登录、无需联网即可使用,数据不会上传第三方。


✅ 为什么推荐 draw.io

优势 说明
✅ 完全开源、免费 Apache 2.0 协议,可商业使用
✅ 自托管支持 内网、机密项目环境可用
✅ 图标库丰富 网络、架构、云服务、UML、BPMN......应有尽有
✅ 导出方便 PNG、SVG、PDF、XML、HTML
✅ 支持中文 操作体验友好
✅ 多系统支持 Web、桌面、插件,多场景使用

对需要离线绘图、内网使用、交付客户项目、企业开发文档的人特别友好。


✅ 自托管安装(适合内网环境)

✅ 方式一:Docker 运行(最快)

bash 复制代码
docker run -d \
  --name drawio \
  -p 8080:8080 \
  jgraph/drawio

浏览器访问:

复制代码
http://服务器IP:8080

即可直接使用,无需登录、无需数据库。


✅ 方式二:Docker Compose(推荐长期部署)

新建 docker-compose.yml

yaml 复制代码
version: "3.8"

services:
  drawio:
    image: jgraph/drawio:latest
    container_name: drawio
    ports:
      - "8080:8080"
      - "8443:8443"
    environment:
      - DRAWIO_DISABLE_ANALYTICS=true
      - DRAWIO_ENABLE_PLANTUML=true
    restart: unless-stopped

启动:

bash 复制代码
docker compose up -d

优势:

✅ 自动重启

✅ 支持启用 PlantUML(序列图/类图自动生成)

✅ 内网即可访问

✅ 自托管效果

✅ Mermaid 是什么?

Mermaid 是一个基于文本(类似代码)的开源制图语言,用简单描述就能生成专业流程图、时序图、甘特图、状态机、架构关系图。

✅ 支持流程图、时序图、类图、ER 图、状态机、甘特图

✅ 用文本写图 → 可版本管理(Git)

✅ 可嵌入 Markdown、Wiki、文档系统

✅ Obsidian / VSCode / GitLab / Typora / Wiki.js / GitHub 已原生支持

✅ 可自托管渲染(适合离线或内网)

一句话总结:
Mermaid = 图用"代码"生成,让图变得可追踪、可自动化、可被大模型生成。

大模型生成Mermaid

复制代码
用户浏览商品并下单 → 系统检查库存 → 如果库存不足提示失败 → 否则扣库存 → 用户支付 → 支付成功后生成订单 → 通知仓库发货

将上述的描述转成 Mermaid

flowchart TD
    A[用户浏览商品并下单] --> B[系统检查库存]
    B -->|库存不足| C[提示下单失败]
    B -->|库存充足| D[扣减库存]
    D --> E[用户支付]
    E -->|支付成功| F[生成订单]
    F --> G[通知仓库发货]



✅ 文件保存方式(重点)

draw.io 不会强制把数据存到服务器,默认保存到用户本地:

  • .drawio / .xml 文件

  • PNG、SVG、PDF

如果需要团队协作,可以接入:

  • WebDAV(Nextcloud、OwnCloud、Seafile)

  • GitLab / Gitea 仓库

  • Samba 文件共享

这比云产品更自由,数据完全掌控在自己手里。


✅ 适用场景

研发团队内部文档、架构图

不依赖外网,图保存到 Git/Nextcloud,安全可控。

高校、培训、教学演示

学生在浏览器打开就能画图,轻量零门槛。

公司交付客户的私有化项目

很多甲方项目不能使用外网制图工具,draw.io 刚好解决痛点。

个人知识管理

结合 Obsidian、VSCode,当本地画图工具使用。

长期使用 Visio 替代品

无需授权、无需破解、完全免费。


✅ 与其他工具对比

工具 是否开源 是否可私有部署 费用 难度 功能丰富度
draw.io ✅ 是 ✅ 是 免费 ✅ 丰富
ProcessOn ❌ 否 ❌ 否 商业 中等
Lucidchart ❌ 否 ❌ 否 商业
Excalidraw ✅ 是 ✅ 是 免费 中(偏手绘)
Visio ❌ 否 ✅ 部分 商业

综合来看,draw.io是最接近Visio级功能同时完全开源可私有部署的方案。


✅ 总结

draw.io 就像一把"瑞士军刀式"的制图工具:

✅ 开源免费

✅ 自托管,无数据外泄风险

✅ 图标库丰富、支持架构/网络/UML/ER全部场景

✅ 部署简单,几分钟搞定

适合:

  • 开发团队
  • 企业内部系统
  • 信息安全要求高的客户项目
  • 个人学习、文档记录
相关推荐
BTU_YC23 天前
DrawIO PPT模板自动生成指南:从文字排版到XML输出的完整工作流
xml·draw.io
酷柚易汛智推官25 天前
基于Draw.io的实时协作架构设计与性能优化实践
draw.io
静心观复1 个月前
drawio画java的uml的类图时,class和interface的区别是什么
java·uml·draw.io
东风西巷1 个月前
draw.io(免费流程图制作工具) 中文绿色版
学习·电脑·流程图·软件需求·draw.io
夜郎king1 个月前
Drawio 在软件开发中的应用实践
draw.io·drawio实践·drawio助力软件开发·drawio自定义出图
a-6262 个月前
如何修改drawio中的线条样式(将实线变为虚线)
draw.io
晋人在秦 老K2 个月前
入梦工具箱怎么检测硬件?3步完成CPU-Z跑分测试 硬件检测总出错?图吧工具箱免费功能实测 draw.io 部署指南:私有化流程图服务搭建教程
测试工具·流程图·工具·draw.io
|CXHAO|2 个月前
使用tomcat本地部署draw.io
java·tomcat·draw.io
非凡ghost4 个月前
Draw.io v28.0.6 中文绿色版:免费流程图制作工具
流程图·生活·软件需求·draw.io