Selaa lähdekoodia

Allow specifying the docker client path in _DOCKER_INIT_PATH

I currently need this to get the tests running, otherwise it will
mount the docker.test binary inside the containers, which doesn't
work due to the libdevmapper.so dependency.
Alexander Larsson 11 vuotta sitten
vanhempi
commit
6938a36c69
1 muutettua tiedostoa jossa 14 lisäystä ja 9 poistoa
  1. 14 9
      runtime.go

+ 14 - 9
runtime.go

@@ -52,16 +52,21 @@ type Runtime struct {
 var sysInitPath string
 
 func init() {
-	selfPath := utils.SelfPath()
-
-	// If we have a separate docker-init, use that, otherwise use the
-	// main docker binary
-	dir := filepath.Dir(selfPath)
-	dockerInitPath := filepath.Join(dir, "docker-init")
-	if _, err := os.Stat(dockerInitPath); err != nil {
-		sysInitPath = selfPath
+	env := os.Getenv("_DOCKER_INIT_PATH")
+	if env != "" {
+		sysInitPath = env
 	} else {
-		sysInitPath = dockerInitPath
+		selfPath := utils.SelfPath()
+
+		// If we have a separate docker-init, use that, otherwise use the
+		// main docker binary
+		dir := filepath.Dir(selfPath)
+		dockerInitPath := filepath.Join(dir, "docker-init")
+		if _, err := os.Stat(dockerInitPath); err != nil {
+			sysInitPath = selfPath
+		} else {
+			sysInitPath = dockerInitPath
+		}
 	}
 }