Skip to content

Commit

Permalink
Merge pull request #8528 from tstromberg/docker-not-required
Browse files Browse the repository at this point in the history
docker-env: Avoid container suicide if Docker is not installed locally
  • Loading branch information
medyagh authored Jun 23, 2020
2 parents 3d09d8e + 47942be commit ce33161
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions cmd/minikube/cmd/docker-env.go
Original file line number Diff line number Diff line change
Expand Up @@ -192,11 +192,19 @@ var dockerEnvCmd = &cobra.Command{
}
}

out, err := tryDockerConnectivity("docker", ec)
if err != nil { // docker might be up but been loaded with wrong certs/config
// to fix issues like this #8185
glog.Warningf("couldn't connect to docker inside minikube. will try to restart dockerd service... output: %s error: %v", string(out), err)
mustRestartDocker(cname, co.CP.Runner)
dockerPath, err := exec.LookPath("docker")
if err != nil {
glog.Warningf("Unable to find docker in path - skipping connectivity check: %v", err)
dockerPath = ""
}

if dockerPath != "" {
out, err := tryDockerConnectivity("docker", ec)
if err != nil { // docker might be up but been loaded with wrong certs/config
// to fix issues like this #8185
glog.Warningf("couldn't connect to docker inside minikube. will try to restart dockerd service... output: %s error: %v", string(out), err)
mustRestartDocker(cname, co.CP.Runner)
}
}

if err := dockerSetScript(ec, os.Stdout); err != nil {
Expand Down Expand Up @@ -272,6 +280,7 @@ func dockerEnvVarsList(ec DockerEnvConfig) []string {
func tryDockerConnectivity(bin string, ec DockerEnvConfig) ([]byte, error) {
c := exec.Command(bin, "version", "--format={{.Server}}")
c.Env = append(os.Environ(), dockerEnvVarsList(ec)...)
glog.Infof("Testing Docker connectivity with: %v", c)
return c.CombinedOutput()
}

Expand Down

0 comments on commit ce33161

Please sign in to comment.