package containers import ( "encoding/json" "floares/config" "log" "net/http" ) type Inspect struct { Id string `json:"Id"` Image string `json:"Image"` NetworkSettings struct { Ports map[string][]struct { HostIp string `json:"HostIp"` HostPort string `json:"HostPort"` } `json:"Ports"` Networks map[string]struct { EndpointID string `json:"EndpointID"` Gateway string `json:"Gateway"` IPAddress string `json:"IPAddress"` IPPrefixLen int `json:"IPPrefixLen"` MacAddress string `json:"MacAddress"` DriverOpts interface{} `json:"DriverOpts"` IPAMConfig interface{} `json:"IPAMConfig"` Links interface{} `json:"Links"` Aliases []string `json:"Aliases"` } `json:"Networks"` } `json:"NetworkSettings"` } func InspectContainer(id string) (res Inspect) { req, err := http.NewRequest(http.MethodGet, config.Entrypoint+"/v2.2.2/libpod/containers/"+id+"/json", nil) if err != nil { log.Println("request for containers list error:", err) return } resp, err := http.DefaultClient.Do(req) if err != nil { log.Println("request for containers list error:", err) return } err = json.NewDecoder(resp.Body).Decode(&res) if err != nil { log.Println("json decode container list error:", err) } return }