|
@@ -1,8 +1,10 @@
|
|
# Go client for the Docker Engine API
|
|
# 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.
|
|
|
|
|
|
+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`):
|
|
|
|
|
|
+For example, to list all containers (the equivalent of `docker ps --all`):
|
|
|
|
|
|
```go
|
|
```go
|
|
package main
|
|
package main
|
|
@@ -11,26 +13,26 @@ import (
|
|
"context"
|
|
"context"
|
|
"fmt"
|
|
"fmt"
|
|
|
|
|
|
- "github.com/docker/docker/api/types"
|
|
|
|
|
|
+ "github.com/docker/docker/api/types/container"
|
|
"github.com/docker/docker/client"
|
|
"github.com/docker/docker/client"
|
|
)
|
|
)
|
|
|
|
|
|
func main() {
|
|
func main() {
|
|
- cli, err := client.NewClientWithOpts(client.FromEnv)
|
|
|
|
|
|
+ apiClient, err := client.NewClientWithOpts(client.FromEnv)
|
|
if err != nil {
|
|
if err != nil {
|
|
panic(err)
|
|
panic(err)
|
|
}
|
|
}
|
|
- defer cli.Close()
|
|
|
|
|
|
+ defer apiClient.Close()
|
|
|
|
|
|
- containers, err := cli.ContainerList(context.Background(), types.ContainerListOptions{})
|
|
|
|
|
|
+ containers, err := apiClient.ContainerList(context.Background(), container.ListOptions{All: true})
|
|
if err != nil {
|
|
if err != nil {
|
|
panic(err)
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
|
|
- for _, container := range containers {
|
|
|
|
- fmt.Printf("%s %s\n", container.ID[:10], container.Image)
|
|
|
|
|
|
+ for _, ctr := range containers {
|
|
|
|
+ fmt.Printf("%s %s (status: %s)\n", ctr.ID, ctr.Image, ctr.Status)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
```
|
|
|
|
|
|
-[Full documentation is available on GoDoc.](https://godoc.org/github.com/docker/docker/client)
|
|
|
|
|
|
+[Full documentation is available on pkg.go.dev.](https://pkg.go.dev/github.com/docker/docker/client)
|