2024年Go最新Docker深入解析:从基础到实践_docker深入理解,细数Golang开发者的艰辛历程
package main
import (
"fmt"
"time"
"github.com/docker/docker/api/types"
"github.com/docker/docker/client"
)
func main() {
cli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation())
if err != nil {
panic(err)
}
containers, err := cli.ContainerList(context.Background(), types.ContainerListOptions{})
if err != nil {
panic(err)
}
for _, container := range containers {
fmt.Printf("ID: %s Image: %s Command: %s Created: %s Status: %s Ports: %s Names: %v\n",
container.ID[:12], container.Image, container.Command,
container.Created.Format(time.RFC3339Nano), container.Status, container.Ports, container.Names)
}
}
这段代码使用Go语言和Docker SDK for Go来获取并打印本地Docker环境中所有容器的基本信息。它首先创建一个Docker客户端,然后获取容器列表,并遍历它们打印出容器ID、镜像、命令、创建时间、状态、端口和名称。这个例子展示了如何使用Docker SDK for Go与Docker API进行交互,并且是理解如何在Go语言中操作Docker容器的一个很好的起点。
评论已关闭