0

我想通过 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{})
4

1 回答 1

2

有很多解决方案。一个解决方案可能是:

msgs, errs := cli.Events(ctx, types.EventsOptions{})

for {
        select {
          case err := <-errs:print(err)
          case msg := <-msgs:print(msg)
        }
 }
于 2018-12-05T21:45:56.747 回答