(params: DockerCLIParameters | PartialExecParameters | DockerResolverParameters, ids: string[])
| 97 | } |
| 98 | |
| 99 | export async function inspectContainers(params: DockerCLIParameters | PartialExecParameters | DockerResolverParameters, ids: string[]): Promise<ContainerDetails[]> { |
| 100 | const results = await inspect<ContainerDetails>(params, 'container', ids); |
| 101 | for (const result of results) { |
| 102 | result.Ports = []; |
| 103 | const rawPorts = result.NetworkSettings.Ports; |
| 104 | for (const privatePortAndType in rawPorts) { |
| 105 | const [PrivatePort, Type] = privatePortAndType.split('/'); |
| 106 | for (const targetPort of rawPorts[privatePortAndType] || []) { |
| 107 | const { HostIp: IP, HostPort: PublicPort } = targetPort; |
| 108 | result.Ports.push({ |
| 109 | IP, |
| 110 | PrivatePort: parseInt(PrivatePort), |
| 111 | PublicPort: parseInt(PublicPort), |
| 112 | Type |
| 113 | }); |
| 114 | } |
| 115 | } |
| 116 | } |
| 117 | return results; |
| 118 | } |
| 119 | |
| 120 | export interface ImageDetails { |
| 121 | Id: string; |
no outgoing calls
no test coverage detected