github.com/walkingsparrow/docker@v1.4.2-0.20151218153551-b708a2249bfa/api/client/lib/image_list.go (about) 1 package lib 2 3 import ( 4 "encoding/json" 5 "net/url" 6 7 "github.com/docker/docker/api/types" 8 "github.com/docker/docker/api/types/filters" 9 ) 10 11 // ImageList returns a list of images in the docker host. 12 func (cli *Client) ImageList(options types.ImageListOptions) ([]types.Image, error) { 13 var images []types.Image 14 query := url.Values{} 15 16 if options.Filters.Len() > 0 { 17 filterJSON, err := filters.ToParam(options.Filters) 18 if err != nil { 19 return images, err 20 } 21 query.Set("filters", filterJSON) 22 } 23 if options.MatchName != "" { 24 // FIXME rename this parameter, to not be confused with the filters flag 25 query.Set("filter", options.MatchName) 26 } 27 if options.All { 28 query.Set("all", "1") 29 } 30 31 serverResp, err := cli.get("/images/json", query, nil) 32 if err != nil { 33 return images, err 34 } 35 defer ensureReaderClosed(serverResp) 36 37 err = json.NewDecoder(serverResp.body).Decode(&images) 38 return images, err 39 }