Files
docker-cli/components/engine/client
Mathieu Champlon 422bb44235 Make client underlying HTTP client accessible
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com>
Upstream-commit: 5a84124739a809bcdb5830fd385440027ddd910f
Component: engine
2018-05-16 05:24:11 +02:00
..
2016-09-07 11:05:58 -07:00
2018-03-16 11:03:46 -04:00
2018-02-05 16:51:57 -05:00
2018-04-23 13:52:44 -07:00
2018-04-23 13:52:44 -07:00
2018-04-23 13:52:44 -07:00
2018-04-23 13:52:44 -07:00
2018-04-23 13:52:44 -07:00
2016-11-22 12:49:38 +00: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.