Golang Docker API: получить события - PullRequest
0 голосов
/ 05 декабря 2018

Я хочу получать все новые события из докера через интеграцию golang.Проблема в том, что он возвращает два канала, и я не мог понять, как подписаться на них.

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{})

1 Ответ

0 голосов
/ 06 декабря 2018

Есть много решений.Решение может быть:

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

for {
        select {
          case err := <-errs:print(err)
          case msg := <-msgs:print(msg)
        }
 }
...