gpt4 book ai didi

api - 如何使用 engine-api 观看 docker 事件

转载 作者:IT王子 更新时间:2023-10-29 01:58:39 27 4
gpt4 key购买 nike

任何人都知道如何使用 engine-api 观看 docker 事件,docker 的 go 客户端,或者有任何例子吗?

最佳答案

我现在知道怎么做了:

package main

import (
"encoding/json"
"fmt"
"io"
"log"

"github.com/docker/engine-api/client"
"github.com/docker/engine-api/types"
"github.com/docker/engine-api/types/events"
"golang.org/x/net/context"
)

func main() {

defaultHeaders := map[string]string{"User-Agent": "engine-api-cli-1.0"}
cli, err := client.NewClient("http://172.17.150.101:2376", "v1.24", nil, defaultHeaders)
if err != nil {
panic(err)
}

options := types.ContainerListOptions{All: true}
containers, err := cli.ContainerList(context.Background(), options)
if err != nil {
panic(err)
}

for _, c := range containers {
fmt.Println(c.ID)
}

body, err := cli.Events(context.Background(), types.EventsOptions{})
if err != nil {
log.Fatal(err)
}

dec := json.NewDecoder(body)
for {
var event events.Message
err := dec.Decode(&event)
if err != nil && err == io.EOF {
break
}

log.Println(event)
}
}

关于api - 如何使用 engine-api 观看 docker 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38759427/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com