用文本创建图表的工具PlantUML

什么是 PlantUML ?

PlantUML 是一种开源工具,允许用户从纯文本语言创建图表。除了各种 UML 图之外,PlantUML 还支持各种其他软件开发相关格式,以及 JSONYAML 文件的可视化。PlantUML 语言是特定领域语言的一个示例。

什么是 PlantUML Server ?

PlantUML Server 是一个用于动态生成 UML 图的 Web 应用程序,能够直接在浏览器中创建 PlantUML图。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 plantuml ,选择第一个 plantuml/plantuml-server:jetty,版本选择 latest

本文写作时, latest 版本对应为 jetty,具体的说是 jetty-v1.2023.12

端口

本地端口不冲突就行,不确定的话可以用命令查一下

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8284 8080

环境

老苏没有设置,但是实际上 PlantUML 支持环境变量设置,可以参考官方文档:https://github.com/plantuml/plantuml-server#how-to-set-plantuml-options,根据需要进行设置

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 运行容器
docker run -d \
   --restart unless-stopped \
   --name plantuml-server \
   -p 8284:8080 \
   plantuml/plantuml-server:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: '3'

services:
  plantuml-server:
    image: plantuml/plantuml-server:latest
    container_name: plantuml-server
    restart: unless-stopped
    ports:
      - 8284:8080

然后执行下面的命令

bash 复制代码
# 新建文件夹 plantuml 
mkdir -p /volume1/docker/plantuml

# 进入 plantuml 目录
cd /volume1/docker/plantuml

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8284 就能看到主界面

可以设置主题

软件本身比较简单,重要是学会使用简单直观的语言来创建图表,可以参考官方的 PlantUML 语言参考指引,文档有中文版:https://plantuml.com/zh/guide

VSC 集成

PlantUML 集成在多种外部工具中,比如 Visual Studio Code。直接安装 PlantUML Extensions

安装完成后,需要设置服务器地址

支持的文件类型:.wsd,.pu,.puml,.plantuml,.iuml

所以我们新建一个 test.puml文件,内容如下

@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: Another authentication Response
@enduml

Windows 上可以用 Alt + D 预览,在 MacOS 上则是 option + D

参考文档

plantuml/plantuml: Generate diagrams from textual description

地址:https://github.com/plantuml/plantuml
plantuml/plantuml-server: PlantUML Online Server

地址:https://github.com/plantuml/plantuml-server
使用简单的文字描述画UML图的开源工具。

地址:https://plantuml.com/zh/

相关推荐
意疏9 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
墨鸦_Cormorant9 小时前
使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像
redis·nginx·docker
Code_Artist10 小时前
Docker镜像加速解决方案:配置HTTP代理,让Docker学会科学上网!
docker·云原生·容器
wanmei00211 小时前
Dockerfile复制目录进入镜像里
docker
inter_peng11 小时前
[Docker-显示所有容器IP] 显示docker-compose.yml中所有容器IP的方法
tcp/ip·docker·eureka
Linux运维日记11 小时前
k8s1.31版本最新版本集群使用容器镜像仓库Harbor
linux·docker·云原生·容器·kubernetes
一名路过的小码农13 小时前
ceph 18.2.4二次开发,docker镜像制作
ceph·docker·容器
xiangshangdemayi15 小时前
Windows环境GeoServer打包Docker极速入门
windows·docker·容器·geoserver·打包·数据挂载
程序员JerrySUN16 小时前
熟悉的 Docker,陌生的 Podman
linux·docker·容器·系统架构·podman
gobeyye17 小时前
Docker 用法详解
运维·docker·容器