Files
docker-cli/components/engine/client
Akihiro Suda c539968eac client: use io.LimitedReader for reading HTTP error
client.checkResponseErr() was hanging and consuming infinite memory
when the serverResp.Body io.Reader returns infinite stream.

This commit prohibits reading more than 1MiB.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit 1db4be0c32267b7a8a27998089ce96440bed492e)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 49556e047059d81b64f6cd12f4c602c9a9c471c7
Component: engine
2018-11-12 11:44:37 +01:00
..
2016-09-07 11:05:58 -07:00
2018-06-13 09:04:30 +02:00
2018-05-20 13:07:17 +02:00
2018-05-23 17:50:54 +02:00
2018-05-23 17:50:54 +02:00
2018-04-23 13:52:44 -07:00
2018-05-23 17:50:54 +02:00
2018-04-23 13:52:44 -07:00
2018-04-23 13:52:44 -07:00
2018-05-23 17:50:54 +02:00
2018-05-23 17:50:54 +02:00
2018-06-13 09:04:30 +02:00
2018-05-23 17:50:54 +02:00
2016-11-22 12:49:38 +00:00
2018-05-23 17:50:54 +02:00
2018-05-20 13:07:17 +02:00
2018-05-17 19:28:27 +02:00
2018-02-05 16:51:57 -05:00
2018-02-05 16:51:57 -05:00

Go client for the Docker Engine API

The docker command uses this package to communicate with the daemon. It can also be used by your own Go applications to do anything the command-line interface does  running containers, pulling images, managing swarms, etc.

For example, to list running containers (the equivalent of docker ps):

package main

import (
	"context"
	"fmt"

	"github.com/docker/docker/api/types"
	"github.com/docker/docker/client"
)

func main() {
	cli, err := client.NewEnvClient()
	if err != nil {
		panic(err)
	}

	containers, err := cli.ContainerList(context.Background(), types.ContainerListOptions{})
	if err != nil {
		panic(err)
	}

	for _, container := range containers {
		fmt.Printf("%s %s\n", container.ID[:10], container.Image)
	}
}

Full documentation is available on GoDoc.