mirror of
https://github.com/docker/cli.git
synced 2026-10-07 06:26:40 -04:00
when `cli.post(...)` fails `errC <- err` blocks because `errC` is unbufferd. Signed-off-by: Simon Menke <simon.menke@gmail.com> Upstream-commit: 4d2d2ea39336aade783c5c415b83d129bdd339bb Component: engine
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)
}
}