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

Function loadPortByInspect

agent/app/service/container.go:2004–2023  ·  view source on GitHub ↗
(id string, client *client.Client)

Source from the content-addressed store, hash-verified

2002}
2003
2004func loadPortByInspect(id string, client *client.Client) ([]container.Port, error) {
2005 containerItem, err := client.ContainerInspect(context.Background(), id)
2006 if err != nil {
2007 return nil, err
2008 }
2009 var itemPorts []container.Port
2010 for key, val := range containerItem.ContainerJSONBase.HostConfig.PortBindings {
2011 if !strings.Contains(string(key), "/") {
2012 continue
2013 }
2014 item := strings.Split(string(key), "/")
2015 itemPort, _ := strconv.ParseUint(item[0], 10, 16)
2016
2017 for _, itemVal := range val {
2018 publicPort, _ := strconv.ParseUint(itemVal.HostPort, 10, 16)
2019 itemPorts = append(itemPorts, container.Port{PrivatePort: uint16(itemPort), Type: item[1], PublicPort: uint16(publicPort), IP: itemVal.HostIP})
2020 }
2021 }
2022 return itemPorts, nil
2023}
2024func transPortToStr(ports []container.Port) []string {
2025 var (
2026 ipv4Ports []container.Port

Callers 1

ContainerInfoMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected