本文整理汇总了Golang中github.com/fsouza/go-dockerclient.Client.Info方法的典型用法代码示例。如果您正苦于以下问题:Golang Client.Info方法的具体用法?Golang Client.Info怎么用?Golang Client.Info使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/fsouza/go-dockerclient.Client
的用法示例。
在下文中一共展示了Client.Info方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: waitFor
func waitFor(once *sync.Once, client *dockerclient.Client, endpoint string) {
once.Do(func() {
err := ClientOK(endpoint, func() bool {
_, err := client.Info()
return err == nil
})
if err != nil {
panic(err.Error())
}
})
}
示例2: getNodes
// Determines how many nodes are available in the swarm for use in getScale()
func getNodes(client *dockerclient.Client) int {
var env []interface{}
info, _ := client.Info()
envs := info.Map()
json.Unmarshal([]byte(envs["DriverStatus"]), &env)
for _, e := range env {
v := e.([]interface{})
if v[0] == "\bNodes" {
nodes, _ := strconv.Atoi(v[1].(string))
return nodes
}
}
return 0
}
示例3: New
func New(endpoint, certPath string) (d Docker, err error) {
var c *dockerclient.Client
if certPath != "" {
cert := fmt.Sprintf("%s/cert.pem", certPath)
key := fmt.Sprintf("%s/key.pem", certPath)
ca := fmt.Sprintf("%s/ca.pem", certPath)
c, err = dockerclient.NewTLSClient(endpoint, cert, key, ca)
} else {
c, err = dockerclient.NewClient(endpoint)
}
if err != nil {
return
}
log.Debugln("Connecting to Docker on:", endpoint)
if _, err := c.Info(); err != nil {
return d, err
}
d = Docker{client: c}
return
}
示例4: GetConnection
func GetConnection(dockerSocket string) (*DockerClient, error) {
var (
client *gdocker.Client
err error
info *engine.Env
executionDriver string
)
client, err = gdocker.NewClient(dockerSocket)
if err != nil {
fmt.Println("Unable to connect to docker server:", err.Error())
return nil, err
}
if info, err = client.Info(); err != nil {
return nil, err
}
executionDriver = info.Get("ExecutionDriver")
return &DockerClient{client, executionDriver}, nil
}