Docker搭建PlantUML服务生成UML图的实践分享

 更新时间:2025年03月26日 10:04:24   作者:不会算法的小灰  
PlantUML 是一款开源的 UML 图形生成工具,它支持生成类图、时序图、用例图、活动图等多种类型的 UML 图,广泛应用于软件设计、文档编写以及团队沟通中,本文给大家介绍了Docker搭建PlantUML服务生成UML图的最佳实践,需要的朋友可以参考下

引言

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 来优化软件设计流程,提高团队协作效率。

以上就是Docker搭建PlantUML服务生成UML图的实践分享的详细内容,更多关于Docker PlantUML生成UML图的资料请关注脚本之家其它相关文章!

相关文章

  • Docker下利用jenkins和docker实现持续交付

    Docker下利用jenkins和docker实现持续交付

    这篇文章主要介绍了利用jenkins和docker实现持续交付功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • docker迁移数据目录的方法步骤

    docker迁移数据目录的方法步骤

    本文主要介绍了docker迁移数据目录的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Docker 安装启动Jenkins的方法(docker-compose)

    Docker 安装启动Jenkins的方法(docker-compose)

    这篇文章主要介绍了Docker 安装启动 Jenkins(docker-compose)的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • Docker 解决容器时间与主机时间不一致的问题三种解决方案

    Docker 解决容器时间与主机时间不一致的问题三种解决方案

    这篇文章主要介绍了Docker 解决容器时间与主机时间不一致的问题的相关资料,这里提供了三种方法,供大家参考,需要的朋友可以参考下
    2016-12-12
  • 使用Vscode结合docker进行开发的详细过程

    使用Vscode结合docker进行开发的详细过程

    这篇文章主要介绍了如何使用Vscode结合docker进行开发,在本文中,我将提供一个在 Node 环境中运行的 JavaScript 应用程序示例。阅读在容器内开发以获取所有技术堆栈的详细文档,需要的朋友可以参考下
    2021-07-07
  • Docker搭建Portainer可视化界面步骤详解

    Docker搭建Portainer可视化界面步骤详解

    在本篇文章里小编给大家分享的是一篇关于Docker搭建Portainer可视化界面的实例操作方法,需要的朋友们参考下。
    2019-10-10
  • docker+daocloud实现前端项目自动构建部署

    docker+daocloud实现前端项目自动构建部署

    这篇文章主要介绍了docker+daocloud实现前端项目自动构建部署,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Docker启动参数超详细讲解

    Docker启动参数超详细讲解

    在启动Docker容器时,我们可以通过添加参数来修改容器的配置,这样可以灵活地适应不同的场景和需求,这篇文章主要给大家介绍了关于Docker启动参数的相关资料,需要的朋友可以参考下
    2024-01-01
  • Docker + Nodejs + Kafka + Redis + MySQL搭建简单秒杀环境

    Docker + Nodejs + Kafka + Redis + MySQL搭建简单秒杀环境

    本文给大家分享的是使用Docker + Nodejs + Kafka + Redis + MySQL模拟搭建起来的商品秒杀环境,非常的实用和热门,有需要的小伙伴可以参考下
    2017-01-01
  • Docker中redis集群部署实战

    Docker中redis集群部署实战

    这篇文章主要介绍了Docker中redis集群部署实战的相关资料,需要的朋友可以参考下
    2022-11-11

最新评论