我想通过golang集成从docker获取所有新事件。 问题在于它返回了两个频道,我不知道如何订阅它们。
cli, err := client.NewClientWithOpts(client.WithVersion("1.37"))
if err != nil {
panic(err)
}
ctx, _ := context.WithCancel(context.Background())
msg, err := <- cli.Events(ctx, types.EventsOptions{})
答案 0 :(得分:1)
有很多解决方案。一个解决方案可能是:
msgs, errs := cli.Events(ctx, types.EventsOptions{})
for {
select {
case err := <-errs:print(err)
case msg := <-msgs:print(msg)
}
}