Quellcode durchsuchen

--selinux-enabled flag should be ignored on Disabled SELinux systems

On Fedora and RHEL we ship selinux-enabled flag in the docker.service config,
but if people setup the /var/lib/docker as btrfs and disable SELinux,
we should not block the daemon from running.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Dan Walsh vor 10 Jahren
Ursprung
Commit
9e2eb0f1cc
3 geänderte Dateien mit 9 neuen und 1 gelöschten Zeilen
  1. 1 1
      daemon/daemon.go
  2. 4 0
      daemon/utils_linux.go
  3. 4 0
      daemon/utils_nolinux.go

+ 1 - 1
daemon/daemon.go

@@ -775,7 +775,7 @@ func NewDaemonFromDirectory(config *Config, eng *engine.Engine) (*Daemon, error)
 	log.Debugf("Using graph driver %s", driver)
 
 	// As Docker on btrfs and SELinux are incompatible at present, error on both being enabled
-	if config.EnableSelinuxSupport && driver.String() == "btrfs" {
+	if selinuxEnabled() && config.EnableSelinuxSupport && driver.String() == "btrfs" {
 		return nil, fmt.Errorf("SELinux is not supported with the BTRFS graph driver!")
 	}
 

+ 4 - 0
daemon/utils_linux.go

@@ -11,3 +11,7 @@ func selinuxSetDisabled() {
 func selinuxFreeLxcContexts(label string) {
 	selinux.FreeLxcContexts(label)
 }
+
+func selinuxEnabled() bool {
+	return selinux.SelinuxEnabled()
+}

+ 4 - 0
daemon/utils_nolinux.go

@@ -7,3 +7,7 @@ func selinuxSetDisabled() {
 
 func selinuxFreeLxcContexts(label string) {
 }
+
+func selinuxEnabled() bool {
+	return false
+}