
Drawnix是一款开源的在线白板工具(SaaS),集思维导图、流程图绘制、自由画图等多种功能于一体,支持协作与插件扩展,适用于个人创作、团队协作和远程办公场景。它完全免费且开源,提供丰富的编辑功能和良好的跨平台体验。
本次实践为个人测试环境,操作系统版本为Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 |
|---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 27.1.1 | Drawnix |
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Drawnix开源白板工具。
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven01:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2025-07-02 14:16:57 UTC; 21h ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 878 (dockerd)
Tasks: 28
Memory: 1.2G
CPU: 1min 50.356s
CGroup: /system.slice/docker.service
├─ 878 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock检查Docker版本
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose version
Docker Compose version v2.19.1git clone https://github.com/plait-board/drawnix.gitroot@jeven01:~# cd drawnix/
root@jeven01:~/drawnix# ll
total 828
drwxr-xr-x 8 root root 4096 Jul 12 16:31 ./
drwx------ 10 root root 4096 Jul 12 16:31 ../
drwxr-xr-x 4 root root 4096 Jul 12 16:31 apps/
-rw-r--r-- 1 root root 1034 Jul 12 16:31 CFPAGE-DEPLOY.md
-rw-r--r-- 1 root root 25173 Jul 12 16:31 CHANGELOG.md
-rw-r--r-- 1 root root 305 Jul 12 16:31 Dockerfile
-rw-r--r-- 1 root root 23 Jul 12 16:31 .dockerignore
-rw-r--r-- 1 root root 245 Jul 12 16:31 .editorconfig
-rw-r--r-- 1 root root 13 Jul 12 16:31 .eslintignore
-rw-r--r-- 1 root root 880 Jul 12 16:31 .eslintrc.json
drwxr-xr-x 8 root root 4096 Jul 12 16:31 .git/
drwxr-xr-x 3 root root 4096 Jul 12 16:31 .github/
-rw-r--r-- 1 root root 530 Jul 12 16:31 .gitignore
-rw-r--r-- 1 root root 126 Jul 12 16:31 jest.config.ts
-rw-r--r-- 1 root root 88 Jul 12 16:31 jest.preset.js
-rw-r--r-- 1 root root 1064 Jul 12 16:31 LICENSE
-rw-r--r-- 1 root root 1765 Jul 12 16:31 nx.json
-rw-r--r-- 1 root root 2573 Jul 12 16:31 package.json
-rw-r--r-- 1 root root 711664 Jul 12 16:31 package-lock.json
drwxr-xr-x 5 root root 4096 Jul 12 16:31 packages/
-rw-r--r-- 1 root root 103 Jul 12 16:31 .prettierignore
-rw-r--r-- 1 root root 26 Jul 12 16:31 .prettierrc
-rw-r--r-- 1 root root 4364 Jul 12 16:31 README_en.md
-rw-r--r-- 1 root root 3976 Jul 12 16:31 README.md
drwxr-xr-x 2 root root 4096 Jul 12 16:31 scripts/
-rw-r--r-- 1 root root 676 Jul 12 16:31 tsconfig.base.json
drwxr-xr-x 2 root root 4096 Jul 12 16:31 .vscode/docker build -t jeven/drawnix:latest .
root@jeven01:~/drawnix# docker images |grep drawnix
jeven/drawnix latest f0965388c67a About an hour ago 5.11MB如果使用docker-cli方式部署,可参考以下命令:
docker run -d \
--restart always \
--name drawnix \
-p 7200:80 \
jeven/drawnix在部署目录下,创建docker-compose.yaml文件,如下所示:
vim docker-compose.yamlversion: '3'
services:
drawnix:
image: jeven/drawnix
container_name: drawnix
restart: always
ports:
- "7200:80"执行以下命令,创建Drawnix容器。
docker compose up -d
检查Drawnix容器运行状态,确保Drawnix容器正常启动。
root@jeven01:~/drawnix# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d32b3bd3d639 jeven/drawnix "/busybox-httpd -f -…" 6 seconds ago Up 5 seconds 3000/tcp, 0.0.0.0:7200->80/tcp, [::]:7200->80/tcp drawnix浏览器地址:
http://<个人的服务器IP>:7200,访问Drawnix的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

Mermaid 是一个基于 JavaScript 的图表绘制工具,允许用户通过简单的文本语法生成流程图、时序图、甘特图等各类图表。它无需复杂的绘图软件,直接在 Markdown 或文本编辑器中编写代码即可生成可视化图表,适合集成到文档、博客或项目管理工具中。

在Drawnix中绘制Mermaid流程图时,需注意当前版本主要支持基本的流程图元素和语法。对于不支持的类型,将通过图片形式展示。可参照以下示例进行操作,以确保流程图能够正确呈现。请注意,具体的支持范围可能依据Drawnix的更新而有所变化。
graph TD;
A[开始] --> B[编写测试用例];
B --> C{测试用例是否准备好?};
C -->|是| D[执行测试];
C -->|否| B;
D --> E{测试是否通过?};
E -->|是| F[完成测试];
E -->|否| G[分析并修正错误];
G --> B;

选择Markdown到Drawnix选项,直接绘制思维导图。

可参开系统自动给出的思维导图示例,如下所示:


本次通过Docker部署Drawnix开源白板工具的实践,系统掌握了从环境准备、镜像构建到服务部署的完整流程,切实体会到容器化技术在简化应用部署与管理中的显著优势。Drawnix的Mermaid图表和思维导图等协作功能在实际使用中表现出色,为团队在线协作提供了高效支持,验证了其作为开源工具的实用价值。此次实践不仅成功搭建了功能完备的协作平台,更为后续其他应用的容器化部署积累了宝贵经验,明确了容器化技术在提升开发效率和资源利用率方面的重要作用。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。