MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / loadContainerPortForInfo

Function loadContainerPortForInfo

agent/app/service/container.go:2136–2171  ·  view source on GitHub ↗
(itemPorts []container.Port)

Source from the content-addressed store, hash-verified

2134 return len(composeMap)
2135}
2136func loadContainerPortForInfo(itemPorts []container.Port) []dto.PortHelper {
2137 var exposedPorts []dto.PortHelper
2138 samePortMap := make(map[string]dto.PortHelper)
2139 ports := transPortToStr(itemPorts)
2140 for _, item := range ports {
2141 itemStr := strings.Split(item, "->")
2142 if len(itemStr) < 2 {
2143 continue
2144 }
2145 var itemPort dto.PortHelper
2146 lastIndex := strings.LastIndex(itemStr[0], ":")
2147 if lastIndex == -1 {
2148 itemPort.HostPort = itemStr[0]
2149 } else {
2150 itemPort.HostIP = itemStr[0][0:lastIndex]
2151 itemPort.HostPort = itemStr[0][lastIndex+1:]
2152 }
2153 itemContainer := strings.Split(itemStr[1], "/")
2154 if len(itemContainer) != 2 {
2155 continue
2156 }
2157 itemPort.ContainerPort = itemContainer[0]
2158 itemPort.Protocol = itemContainer[1]
2159 keyItem := fmt.Sprintf("%s->%s/%s", itemPort.HostPort, itemPort.ContainerPort, itemPort.Protocol)
2160 if val, ok := samePortMap[keyItem]; ok {
2161 val.HostIP = ""
2162 samePortMap[keyItem] = val
2163 } else {
2164 samePortMap[keyItem] = itemPort
2165 }
2166 }
2167 for _, val := range samePortMap {
2168 exposedPorts = append(exposedPorts, val)
2169 }
2170 return exposedPorts
2171}
2172
2173func searchWithFilter(req dto.PageContainer, containers []container.Summary) []dto.ContainerInfo {
2174 var (

Callers 1

ContainerInfoMethod · 0.85

Calls 1

transPortToStrFunction · 0.85

Tested by

no test coverage detected