2015-02-09 04:38:37 +00:00
|
|
|
package docker
|
|
|
|
|
|
|
|
import (
|
|
|
|
dockerClient "github.com/fsouza/go-dockerclient"
|
2015-10-12 11:50:17 +00:00
|
|
|
"github.com/rancher/os/config"
|
2015-02-09 04:38:37 +00:00
|
|
|
)
|
|
|
|
|
2015-02-17 08:18:48 +00:00
|
|
|
func NewSystemClient() (*dockerClient.Client, error) {
|
|
|
|
return NewClient(config.DOCKER_SYSTEM_HOST)
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewDefaultClient() (*dockerClient.Client, error) {
|
|
|
|
return NewClient(config.DOCKER_HOST)
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewClient(endpoint string) (*dockerClient.Client, error) {
|
2015-02-14 16:29:30 +00:00
|
|
|
client, err := dockerClient.NewClient(endpoint)
|
2015-02-09 04:38:37 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2015-08-04 21:45:38 +00:00
|
|
|
err = ClientOK(endpoint, func() bool {
|
|
|
|
_, err := client.Info()
|
|
|
|
return err == nil
|
|
|
|
})
|
2015-02-09 04:38:37 +00:00
|
|
|
|
2015-08-04 21:45:38 +00:00
|
|
|
return client, err
|
2015-02-09 04:38:37 +00:00
|
|
|
}
|