mirror of
https://github.com/genuinetools/reg.git
synced 2024-10-04 06:11:44 -04:00
36 lines
879 B
Markdown
36 lines
879 B
Markdown
|
# 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`):
|
|||
|
|
|||
|
```go
|
|||
|
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.](https://godoc.org/github.com/docker/docker/client)
|