PlantUML 是一款開源的 UML 圖形生成工具,它支持生成類圖、時序圖、用例圖、活動圖等多種類型的 UML 圖,廣泛應用于軟件設計、文檔編寫以及團隊溝通中。通過 Docker 安裝 PlantUML,開發者可以快速搭建環境,輕松生成 UML 圖,而無需進行復雜的配置。本文將詳細介紹如何使用 Docker 搭建 PlantUML 服務(不太喜歡再本機中安裝,但是文件體積也很小),并結合實際的圖示展示如何使用 PlantUML。
1. 使用 PlantUML 的好處
1.1 簡化設計與文檔化
通過 PlantUML,開發者可以以一種簡單、清晰的方式表達復雜的設計。它可以通過文本生成 UML 圖,不僅可以節省繪圖時間,還能避免圖示過時的風險,確保文檔的更新與代碼保持同步。
1.2 支持多種圖示類型
PlantUML 支持的 UML 圖類型包括類圖、時序圖、用例圖、活動圖等。此外,PlantUML 還支持生成數據庫關系圖、組件圖、狀態圖等,功能非常全面。
1.3 高度自動化與靈活性
由于 PlantUML 使用的是基于文本的語言,你可以通過編寫腳本與代碼庫自動生成 UML 圖,這為持續集成和自動化文檔生成提供了很大的便利。
1.4 跨平臺支持
PlantUML 可以在多個平臺上運行(包括 Windows、macOS 和 Linux),并且可以與多種開發工具和 IDE(如 IntelliJ IDEA、VS Code 等)集成。
1.5 支持協作和版本控制
PlantUML 生成的 UML 圖以文本文件存儲,便于通過版本控制系統(如 Git)進行管理。團隊成員可以在版本控制系統中協作修改圖示,確保最新版本始終可用。
2. 使用 Docker 安裝 PlantUML
通過 Docker 安裝 PlantUML 是一種非常簡便的方式,無需擔心操作系統環境配置和依賴問題。下面是通過 Docker 安裝并運行 PlantUML 服務的步驟:
2.1 安裝 Docker
首先,確保系統已經安裝了 Docker。如果沒有安裝 Docker,可以訪問 Docker 官方文檔 進行安裝。
2.2 拉取 PlantUML 鏡像
打開終端,運行以下命令來拉取 PlantUML 鏡像:
docker pull plantuml/plantuml-server:jetty
該命令會從 Docker Hub 拉取最新的 PlantUML 鏡像。
2.3 啟動 PlantUML 服務
拉取完成后,你可以通過以下命令啟動 PlantUML 服務:
docker run -d -p 8080:8080 plantuml/plantuml-server:jetty
- 該命令執行以下操作:
-d
?: * 以分離模式運行容器。-p 8080:8080
?: * 將容器的 8080 端口映射到主機上的 8080 端口
運行該命令后,你可以通過瀏覽器訪問 http://localhost:8080,并開始使用 PlantUML。
2.4 訪問 Web 服務
在瀏覽器中打開 http://localhost:8080,你會看到 PlantUML 的 Web 界面。
在左側的編輯框中輸入 PlantUML 代碼,右側將實時生成對應的 UML 圖。以下是一個簡單的示例:
點擊生成圖形,你將看到類似于上的時序圖:
3. 使用其他方式安裝 PlantUML
除了使用 Docker 安裝 PlantUML 外,還有其他多種安裝方式。
3.1 使用 Java 安裝 PlantUML
PlantUML 是用 Java 編寫的,可以通過運行 JAR 文件來使用。以下是使用 Java 安裝和運行 PlantUML 的步驟:
- 安裝 Java:首先,確保系統安裝了 Java 運行時環境(JRE)。
- 下載 PlantUML JAR 文件:從 PlantUML 官網 下載最新的 JAR 文件。
- 運行 PlantUML:在終端中執行以下命令來啟動 PlantUML:
java -jar plantuml.jar
3.2 使用 Homebrew(適用于 macOS 和 Linux)
如果你使用 macOS 或 Linux,可以使用 Homebrew 包管理器安裝 PlantUML:
- 安裝 Homebrew:如果還沒有安裝 Homebrew,可以通過以下命令進行安裝:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 安裝 PlantUML:
brew install plantuml
3.3 使用 IDE 插件
你還可以在 IDE(如 IntelliJ IDEA、VS Code、Eclipse)中安裝 PlantUML 插件。這使得你可以直接在 IDE 中編寫和查看 UML 圖,極大地方便了開發和設計工作。
4. 示例:使用 PlantUML 生成 UML 圖

下面是一個生成購物系統用例圖的示例 PlantUML 代碼:
@startuml left to right direction actor User as "用戶" actor Admin as "管理員" rectangle "用戶管理" {User -- (用戶注冊)User -- (用戶登錄/注銷)User -- (忘記密碼/重置密碼)User -- (更新個人資料) }rectangle "商品管理" {User -- (商品瀏覽和排序)User -- (查看商品詳情)User -- (商品查詢) }rectangle "購物車管理" {User -- (清空購物車)User -- (移除購物車中的商品)User -- (修改購物車中的商品數量)User -- (添加商品到購物車) }rectangle "訂單管理" {User -- (創建訂單)User -- (訂單支付)User -- (取消訂單)User -- (修改訂單) }rectangle "支付管理" {User -- (支付狀態查詢)User -- (支付方式選擇) }rectangle "通知功能" {User -- (發貨通知)User -- (支付成功通知)User -- (訂單確認通知) } @enduml
生成的 UML 圖如下所示:
5. 總結
通過 Docker 部署 PlantUML 是一種快速、簡便的方法,免去復雜配置。只需幾條命令即可在本地或云服務器上搭建 PlantUML 服務,直接在瀏覽器中生成 UML 圖。此外,PlantUML 還提供了多種安裝方式,開發者可以根據需求選擇合適的方式。通過本文的介紹,你可以輕松使用 PlantUML 來優化軟件設計流程,提高團隊協作效率。