Browse Source

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 12 years ago
parent
commit
6938a36c69
1 changed files with 14 additions and 9 deletions
  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
+		}
 	}
 }