我尝试用docker做一个部署图,我知道<<device node>>是用来表示物理设备的,<<execution environment>>节点表示软件运行的环境。因为我将把Docker容器表示为节点,所以我不清楚应该如何表示图像?在我的图中,我创建了一个节点来表示一个Docker容器,内部构件表示各种图像。我想知道这是否是正确的表示法?
<<device node>>
<<execution environment>>
9wbgstp71#
UML语义主要依赖于节点,节点可以细分为«device»和«executionEnvironment»:节点可以进一步被子类型化为设备和执行环境。设备代表物理机器组件。执行环境代表应用程序组件在执行时可能需要的标准软件系统。特定的配置文件可以,例如,定义执行环境的原型,如OS、工作流引擎、数据库系统和J2EE容器。相比之下,Docker容器的定义如下:容器是应用程序层**的一种抽象,**将代码和依赖项打包在一起。多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器都作为用户空间中的独立进程运行。根据(UML)这本书,它不会是一个设备,因为物理层是缺失的。但是有人可能会争辩说,虚拟设备可以被认为是一种特殊的设备。然而,Docker本身反对容器技术和虚拟机。这应该导致我们认为它是执行环境。甚至,其他容器技术被引用作为执行环境的例子。由于执行环境可以是嵌套的,因此使OS作为Docker执行环境内的嵌套执行环境将不是问题。一种不那么模糊的方法是定义您自己的专用配置文件:然后您可以定义原型«DockerContainer»和«VirtualMachine»,它们将把缺少的表达性添加到节点中。
«device»
«executionEnvironment»
«DockerContainer»
«VirtualMachine»
1条答案
按热度按时间9wbgstp71#
UML语义主要依赖于节点,节点可以细分为
«device»
和«executionEnvironment»
:节点可以进一步被子类型化为设备和执行环境。设备代表物理机器组件。执行环境代表应用程序组件在执行时可能需要的标准软件系统。特定的配置文件可以,例如,定义执行环境的原型,如OS、工作流引擎、数据库系统和J2EE容器。
相比之下,Docker容器的定义如下:
容器是应用程序层**的一种抽象,**将代码和依赖项打包在一起。多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器都作为用户空间中的独立进程运行。
根据(UML)这本书,它不会是一个设备,因为物理层是缺失的。但是有人可能会争辩说,虚拟设备可以被认为是一种特殊的设备。然而,Docker本身反对容器技术和虚拟机。这应该导致我们认为它是执行环境。甚至,其他容器技术被引用作为执行环境的例子。
由于执行环境可以是嵌套的,因此使OS作为Docker执行环境内的嵌套执行环境将不是问题。
一种不那么模糊的方法是定义您自己的专用配置文件:然后您可以定义原型
«DockerContainer»
和«VirtualMachine»
,它们将把缺少的表达性添加到节点中。