浏览代码

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 年之前
父节点
当前提交
6938a36c69
共有 1 个文件被更改,包括 14 次插入9 次删除
  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
+		}
 	}
 }