浏览代码

Docker api version negotiation (#1135)

blotus 3 年之前
父节点
当前提交
f86ec1c389
共有 1 个文件被更改,包括 9 次插入3 次删除
  1. 9 3
      pkg/acquisition/modules/docker/docker.go

+ 9 - 3
pkg/acquisition/modules/docker/docker.go

@@ -109,7 +109,7 @@ func (d *DockerSource) Configure(Config []byte, logger *log.Entry) error {
 		d.compiledContainerID = append(d.compiledContainerID, regexp.MustCompile(cont))
 		d.compiledContainerID = append(d.compiledContainerID, regexp.MustCompile(cont))
 	}
 	}
 
 
-	dockerClient, err := client.NewClientWithOpts(client.FromEnv)
+	dockerClient, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation())
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}
@@ -136,6 +136,12 @@ func (d *DockerSource) Configure(Config []byte, logger *log.Entry) error {
 	}
 	}
 	d.Client = dockerClient
 	d.Client = dockerClient
 
 
+	_, err = d.Client.Info(context.Background())
+
+	if err != nil {
+		return errors.Wrapf(err, "failed to configure docker datasource %s", d.Config.DockerHost)
+	}
+
 	return nil
 	return nil
 }
 }
 
 
@@ -158,7 +164,7 @@ func (d *DockerSource) ConfigureByDSN(dsn string, labels map[string]string, logg
 	d.logger = logger
 	d.logger = logger
 	d.Config.Labels = labels
 	d.Config.Labels = labels
 
 
-	dockerClient, err := client.NewClientWithOpts(client.FromEnv)
+	dockerClient, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation())
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}
@@ -389,7 +395,7 @@ func (d *DockerSource) WatchContainer(monitChan chan *ContainerConfig, deleteCha
 						delete(d.runningContainerState, idx)
 						delete(d.runningContainerState, idx)
 					}
 					}
 				} else {
 				} else {
-					log.Debugf("container list err: %s", err.Error())
+					log.Errorf("container list err: %s", err.Error())
 				}
 				}
 				continue
 				continue
 			}
 			}