繁体   English   中英

如何通过golang获取容器ID

[英]How to get container ID by golang

我使用 golang 开发应用程序。 我想在应用程序中获取容器。我对 shell 感到厌倦。但我想通过 go 获取容器。 谢谢

您可以使用码头工人/客户端
https://godoc.org/github.com/docker/docker/client

示例代码:

# 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)
    }
}

然后像这样执行

DOCKER_API_VERSION=1.35 go run listcontainers.go

有关 docker 引擎 SDK 和 API 的更多信息
https://docs.docker.com/develop/sdk/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM