image_import.go 678 B

123456789101112131415161718192021222324252627
  1. package lib
  2. import (
  3. "io"
  4. "net/url"
  5. "github.com/docker/docker/api/types"
  6. )
  7. // ImageImport creates a new image based in the source options.
  8. // It returns the JSON content in the response body.
  9. func (cli *Client) ImageImport(options types.ImageImportOptions) (io.ReadCloser, error) {
  10. query := url.Values{}
  11. query.Set("fromSrc", options.SourceName)
  12. query.Set("repo", options.RepositoryName)
  13. query.Set("tag", options.Tag)
  14. query.Set("message", options.Message)
  15. for _, change := range options.Changes {
  16. query.Add("changes", change)
  17. }
  18. resp, err := cli.POSTRaw("/images/create", query, options.Source, nil)
  19. if err != nil {
  20. return nil, err
  21. }
  22. return resp.body, nil
  23. }