要在Go语言中接入Docker,您可以使用官方提供的Go语言客户端库docker/docker或者moby/moby。以下是一个简单的示例代码,展示了如何使用docker/docker库来管理Docker容器:
package main
import (
"context"
"fmt"
"github.com/docker/docker/api/types"
"github.com/docker/docker/client"
)
func main() {
// 创建 Docker 客户端
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("容器ID: %s\n", container.ID[:12])
fmt.Printf("镜像: %s\n", container.Image)
fmt.Printf("命令: %s\n", container.Command)
fmt.Println("---------------------")
}
}
上述示例代码通过调用Docker API列出了所有正在运行的容器,并打印了一些基本信息。您需要先安装并配置Docker环境,并确保导入了github.com/docker/docker/client
和github.com/docker/docker/api/types
这两个包。
此外,还有其他许多操作可以通过Go语言与Docker进行交互,例如创建和启动容器、构建镜像、管理网络等。您可以查阅相关文档以获取更详细的信息和示例代码。
内容由零声教学AI助手提供,问题来源于学员提问