zihuai li
zihuai li

Reputation: 53

How to get container ID by golang

I use golang to develop application . I want get container in application.I hava tired by shell.But I want to get container by go. thanks

Upvotes: 3

Views: 4651

Answers (1)

Hernan Garcia
Hernan Garcia

Reputation: 1604

You can use docker/client
https://godoc.org/github.com/docker/docker/client

Example code:

# listcontainers.go

package main

import (
    "context"
    "fmt"

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

func main() {
    cli, err := client.NewClientWithOpts(client.FromEnv)
    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)
    }
}

Then execute it like this

DOCKER_API_VERSION=1.35 go run listcontainers.go

More about docker engine SDKs and API
https://docs.docker.com/develop/sdk/

Upvotes: 6

Related Questions