Bladeren bron

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 jaren geleden
bovenliggende
commit
6938a36c69
1 gewijzigde bestanden met toevoegingen van 14 en 9 verwijderingen
  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
+		}
 	}
 }