33
44
55class DockerConfig (BaseModel ):
6+ """容器配置"""
7+
68 """容器名称"""
79 containerName : str = ""
810 """镜像名称"""
911 image : str = ""
1012 """容器分配内存(单位: MB)"""
1113 memory : int = 0 # in MB
12- ports : List [str ] = ["25565:25565/tcp" ]
14+ """容器端口映射"""
15+ ports : List [str ] = [] # ["25565:25565/tcp"]
16+ """额外挂载卷路径"""
1317 extraVolumes : List [str ] = []
18+ """容器可使用的最大磁盘空间(单位: MB)"""
1419 maxSpace : Optional [int ] = None
20+ """网络配置,可以是网络名称或ID"""
1521 network : Optional [Union [str , int ]] = None
22+ """容器的 IO 限制"""
1623 io : Optional [Union [str , int ]] = None
24+ """网络模式(例如: bridge, host)"""
1725 networkMode : str = "bridge"
26+ """网络别名列表"""
1827 networkAliases : List [str ] = []
19- cpusetCpus : str = ""
28+ """绑定的 CPU 核心"""
29+ cpusetCpus : str = "" # 例如 `0,1`
30+ """CPU 使用率(单位: %)"""
2031 cpuUsage : int = 100
32+ """工作目录"""
2133 workingDir : str = ""
34+ """环境变量设置"""
2235 env : List [str ] = []
2336
2437
2538class DockerImageItem (BaseModel ):
39+ """Docker 镜像信息"""
40+
41+ """镜像唯一 ID"""
2642 Id : str = ""
43+ """父镜像 ID"""
2744 ParentId : str = ""
28- RepoTags : List [str ] = []
45+ """镜像仓库标签"""
46+ RepoTags : List [str ] = [] # 例如 ["ubuntu:latest"]
47+ """镜像摘要"""
2948 RepoDigests : List [str ] = []
49+ """镜像创建时间(Unix 时间戳)"""
3050 Created : int = 0
51+ """镜像大小(单位: 字节)"""
3152 Size : int = 0
53+ """镜像的虚拟大小"""
3254 VirtualSize : int = 0
55+ """共享存储空间大小"""
3356 SharedSize : int = 0
57+ """镜像标签"""
3458 Labels : dict [str , str ] = {}
59+ """依赖该镜像运行的容器数量"""
3560 Containers : int = 0
3661
3762
3863class DockerContainerItemPort (BaseModel ):
64+ """Docker 容器端口映射"""
65+
66+ """容器内部端口"""
3967 PrivatePort : int = 0
68+ """映射到宿主机的端口"""
4069 PublicPort : Optional [int ] = None
70+ """端口类型(tcp/udp)"""
4171 Type : str = ""
4272
4373
4474class DockerContainerItemNetworkSettingsNetwork (BaseModel ):
75+ """Docker 容器网络设置信息"""
76+
77+ """网络 ID"""
4578 NetworkID : str = ""
79+ """网络端点 ID"""
4680 EndpointID : str = ""
81+ """网关地址"""
4782 Gateway : str = ""
83+ """分配的 IP 地址"""
4884 IPAddress : str = ""
85+ """IP 地址前缀长度"""
4986 IPPrefixLen : int = 0
87+ """IPv6 网关地址"""
5088 IPv6Gateway : str = ""
89+ """IPv6 地址"""
5190 GlobalIPv6Address : str = ""
91+ """IPv6 地址前缀长度"""
5292 GlobalIPv6PrefixLen : int = 0
93+ """MAC 地址"""
5394 MacAddress : str = ""
5495
5596
5697class DockerContainerItemNetworkSettings (BaseModel ):
98+ """Docker 容器的网络配置信息"""
99+
100+ """容器连接的所有网络"""
57101 Networks : dict [str , DockerContainerItemNetworkSettingsNetwork ] = {}
58102
59103
60104class DockerContainerItemMount (BaseModel ):
105+ """容器挂载点信息"""
106+
107+ """挂载名称"""
61108 Name : str = ""
109+ """源路径"""
62110 Source : str = ""
111+ """目标路径"""
63112 Destination : str = ""
113+ """驱动类型"""
64114 Driver : str = ""
115+ """挂载模式"""
65116 Mode : str = ""
117+ """是否允许读写"""
66118 RW : bool = False
119+ """传播模式"""
67120 Propagation : str = ""
68121
69122
70123class DockerContainerItemHostConfig (BaseModel ):
124+ """Docker 宿主机配置"""
125+
126+ """网络模式"""
71127 NetworkMode : str = ""
72128
73129
74130class DockerContainerItem (BaseModel ):
131+ """Docker 容器详细信息"""
132+
133+ """容器 ID"""
75134 Id : str = ""
135+ """容器名称列表"""
76136 Names : List [str ] = []
137+ """运行的镜像名称"""
77138 Image : str = ""
139+ """镜像 ID"""
78140 ImageID : str = ""
141+ """容器启动命令"""
79142 Command : str = ""
143+ """容器创建时间(Unix 时间戳)"""
80144 Created : int = 0
145+ """容器状态"""
81146 State : str = ""
147+ """容器运行状态描述"""
82148 Status : str = ""
149+ """端口映射信息"""
83150 Ports : List [DockerContainerItemPort ] = []
151+ """容器标签信息"""
84152 Labels : dict [str , str ] = {}
153+ """读写层大小(单位: 字节)"""
85154 SizeRw : int = 0
155+ """根文件系统大小(单位: 字节)"""
86156 SizeRootFs : int = 0
157+ """宿主机配置"""
87158 HostConfig : DockerContainerItemHostConfig = DockerContainerItemHostConfig ()
88- NetworkSettings : DockerContainerItemNetworkSettings = (
89- DockerContainerItemNetworkSettings ()
90- )
159+ """容器网络配置"""
160+ NetworkSettings : DockerContainerItemNetworkSettings = DockerContainerItemNetworkSettings ()
161+ """容器挂载信息"""
91162 Mounts : List [DockerContainerItemMount ] = []
92163
93164
94165class DockerNetworkItemIPAMConfig (BaseModel ):
166+ """Docker 网络 IPAM 配置信息"""
167+
168+ """子网地址"""
95169 Subnet : str = ""
96170
97171
98172class DockerNetworkItemIPAM (BaseModel ):
173+ """Docker 网络的 IP 地址管理"""
174+
175+ """驱动类型"""
99176 Driver : str = ""
177+ """IPAM 配置"""
100178 Config : List [DockerNetworkItemIPAMConfig ] = []
101179
102180
103181class DockerNetworkItem (BaseModel ):
182+ """Docker 网络详细信息"""
183+
184+ """网络名称"""
104185 Name : str = ""
186+ """网络 ID"""
105187 Id : str = ""
188+ """网络创建时间"""
106189 Created : str = ""
190+ """网络作用范围(local/global)"""
107191 Scope : str = ""
192+ """网络驱动类型"""
108193 Driver : str = ""
194+ """是否启用 IPv6"""
109195 EnableIPv6 : bool = False
196+ """是否为内部网络"""
110197 Internal : bool = False
198+ """是否可附加"""
111199 Attachable : bool = False
200+ """是否为入口网络"""
112201 Ingress : bool = False
202+ """IPAM 配置信息"""
113203 IPAM : DockerNetworkItemIPAM = DockerNetworkItemIPAM ()
114- Options : dict [str , str ]
115- Containers : Optional [dict [str , dict ]] = {}
204+ """网络选项"""
205+ Options : dict [str , str ] = {}
206+ """连接到此网络的容器信息"""
207+ Containers : Optional [dict [str , dict ]] = {}
0 commit comments