mirror of
https://github.com/rancher/os.git
synced 2025-09-01 06:40:31 +00:00
Initial commit
This commit is contained in:
35
docker/client.go
Normal file
35
docker/client.go
Normal file
@@ -0,0 +1,35 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
dockerClient "github.com/fsouza/go-dockerclient"
|
||||
"github.com/rancherio/os/config"
|
||||
)
|
||||
|
||||
const (
|
||||
MAX_WAIT = 30000
|
||||
INTERVAL = 100
|
||||
)
|
||||
|
||||
func NewClient(cfg *config.Config) (*dockerClient.Client, error) {
|
||||
client, err := dockerClient.NewClient(cfg.DockerEndpoint)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for i := 0; i < (MAX_WAIT / INTERVAL); i++ {
|
||||
_, err = client.Info()
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
|
||||
time.Sleep(INTERVAL * time.Millisecond)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return client, nil
|
||||
}
|
Reference in New Issue
Block a user