本文整理汇总了Golang中github.com/openshift/origin/pkg/cmd/util/docker.Helper.GetClient方法的典型用法代码示例。如果您正苦于以下问题:Golang Helper.GetClient方法的具体用法?Golang Helper.GetClient怎么用?Golang Helper.GetClient使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/openshift/origin/pkg/cmd/util/docker.Helper
的用法示例。
在下文中一共展示了Helper.GetClient方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: tour
func tour(dockerHelper *docker.Helper) {
cmd := os.Args[0]
_, kubeClient := clients()
// check Docker
dockerClient, addr, err := dockerHelper.GetClient()
if err != nil {
fmt.Printf(tourDockerClientErr, addr, err)
os.Exit(1)
}
if err := dockerClient.Ping(); err != nil {
fmt.Printf(tourDockerPingErr, addr, err)
//os.Exit(1)
continueTour()
}
fmt.Printf(tourOne)
continueTour()
// check for server start
if serverRunning(kubeClient) {
fmt.Printf(tourOneRunning, defaultServerAddr)
} else {
fmt.Printf(tourOneStart, cmd)
if err := wait.Poll(time.Second, maxWait, func() (bool, error) {
return serverRunning(kubeClient), nil
}); err == wait.ErrWaitTimeout {
fmt.Printf(tourHavingTrouble, "The server didn't seem to start in time.")
os.Exit(1)
}
fmt.Printf(tourOneStarted, defaultServerAddr)
}
continueTour()
// create a pod
fmt.Printf(tourTwo, cmd)
continueTour()
fmt.Printf(tourTwoCreate, cmd)
if err := wait.Poll(time.Second, maxWait, waitForPod(kubeClient, "hello-openshift")); err == wait.ErrWaitTimeout {
fmt.Printf(tourHavingTrouble, "The pod didn't seem to get created in time.")
os.Exit(1)
}
// info about pod creation
fmt.Printf(tourTwoCreated, cmd)
continueTour()
// more to come
fmt.Printf(tourThree)
}
示例2: EnsureDocker
// EnsureDocker attempts to connect to the Docker daemon defined by the helper,
// and if it is unable to it will print a warning.
func (c *NodeConfig) EnsureDocker(docker *dockerutil.Helper) {
dockerClient, dockerAddr, err := docker.GetClient()
if err != nil {
c.HandleDockerError(fmt.Sprintf("Unable to create a Docker client for %s - Docker must be installed and running to start containers.\n%v", dockerAddr, err))
return
}
if url, err := url.Parse(dockerAddr); err == nil && url.Scheme == "unix" && len(url.Path) > 0 {
s, err := os.Stat(url.Path)
switch {
case os.IsNotExist(err):
c.HandleDockerError(fmt.Sprintf("No Docker socket found at %s. Have you started the Docker daemon?", url.Path))
return
case os.IsPermission(err):
c.HandleDockerError(fmt.Sprintf("You do not have permission to connect to the Docker daemon (via %s). This process requires running as the root user.", url.Path))
return
case err == nil && s.IsDir():
c.HandleDockerError(fmt.Sprintf("The Docker socket at %s is a directory instead of a unix socket - check that you have configured your connection to the Docker daemon properly.", url.Path))
return
}
}
if err := dockerClient.Ping(); err != nil {
c.HandleDockerError(fmt.Sprintf("Docker could not be reached at %s. Docker must be installed and running to start containers.\n%v", dockerAddr, err))
return
}
glog.Infof("Connecting to Docker at %s", dockerAddr)
env, err := dockerClient.Version()
if err != nil {
c.HandleDockerError(fmt.Sprintf("Unable to check for Docker server version.\n%v", err))
return
}
serverVersionString := env.Get("ApiVersion")
serverVersion, err := dockerclient.NewAPIVersion(serverVersionString)
if err != nil {
c.HandleDockerError(fmt.Sprintf("Unable to determine Docker server version from %q.\n%v", serverVersionString, err))
return
}
minimumPullByIDVersion, err := dockerclient.NewAPIVersion(minimumDockerAPIVersionWithPullByID)
if err != nil {
c.HandleDockerError(fmt.Sprintf("Unable to check for Docker server version.\n%v", err))
return
}
if serverVersion.LessThan(minimumPullByIDVersion) {
c.HandleDockerError(fmt.Sprintf("Docker 1.6 or later (server API version 1.18 or later) required."))
return
}
c.DockerClient = dockerClient
}