瀏覽代碼

Merge pull request #11274 from MabinGo/selinux_enable_verify

Add logs when Docker enabled selinux (closes #11197)
Tibor Vass 10 年之前
父節點
當前提交
fdf49d758f
共有 1 個文件被更改,包括 12 次插入6 次删除
  1. 12 6
      daemon/daemon.go

+ 12 - 6
daemon/daemon.go

@@ -866,9 +866,6 @@ func NewDaemonFromDirectory(config *Config, eng *engine.Engine) (*Daemon, error)
 		return nil, fmt.Errorf("Unable to get the full path to the TempDir (%s): %s", tmp, err)
 		return nil, fmt.Errorf("Unable to get the full path to the TempDir (%s): %s", tmp, err)
 	}
 	}
 	os.Setenv("TMPDIR", realTmp)
 	os.Setenv("TMPDIR", realTmp)
-	if !config.EnableSelinuxSupport {
-		selinuxSetDisabled()
-	}
 
 
 	// get the canonical path to the Docker root directory
 	// get the canonical path to the Docker root directory
 	var realRoot string
 	var realRoot string
@@ -902,9 +899,18 @@ func NewDaemonFromDirectory(config *Config, eng *engine.Engine) (*Daemon, error)
 		}
 		}
 	})
 	})
 
 
-	// As Docker on btrfs and SELinux are incompatible at present, error on both being enabled
-	if selinuxEnabled() && config.EnableSelinuxSupport && driver.String() == "btrfs" {
-		return nil, fmt.Errorf("SELinux is not supported with the BTRFS graph driver!")
+	if config.EnableSelinuxSupport {
+		if selinuxEnabled() {
+			// As Docker on btrfs and SELinux are incompatible at present, error on both being enabled
+			if driver.String() == "btrfs" {
+				return nil, fmt.Errorf("SELinux is not supported with the BTRFS graph driver")
+			}
+			log.Debug("SELinux enabled successfully")
+		} else {
+			log.Warn("Docker could not enable SELinux on the host system")
+		}
+	} else {
+		selinuxSetDisabled()
 	}
 	}
 
 
 	daemonRepo := path.Join(config.Root, "containers")
 	daemonRepo := path.Join(config.Root, "containers")