Skip to content

Instantly share code, notes, and snippets.

@FyberEngineers
Created December 22, 2021 07:42
Show Gist options
  • Save FyberEngineers/f784cc5efac718fec3e0cb0d1d0158f2 to your computer and use it in GitHub Desktop.
Save FyberEngineers/f784cc5efac718fec3e0cb0d1d0158f2 to your computer and use it in GitHub Desktop.
start := time.Now()
timeoutFuture := start.Add(time.Minute * 5)
var newClient *client.Client
for time.Now().Unix() < timeoutFuture.Unix() {
log.Printf("waiting for %s to be connectable....", ip)
time.Sleep(5 * time.Second)
var errClient error
newClient, errClient = client.NewClient(fmt.Sprintf("tcp://%s:2375",ip), client.DefaultVersion, nil, nil)
if errClient != nil {
log.Printf("current loop's error - %v", errClient)
} else if newClient != nil {
ping, errClient := newClient.Ping(context.Background())
if errClient == nil {
log.Printf("Ping result - docker %v", ping.APIVersion)
break;
} else {
log.Printf("Couldn't ping remote docker machine - %v", errClient)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment