github.com/vvnotw/moby@v1.13.1/daemon/apparmor_default.go (about) 1 // +build linux 2 3 package daemon 4 5 import ( 6 "fmt" 7 8 aaprofile "github.com/docker/docker/profiles/apparmor" 9 "github.com/opencontainers/runc/libcontainer/apparmor" 10 ) 11 12 // Define constants for native driver 13 const ( 14 defaultApparmorProfile = "docker-default" 15 ) 16 17 func ensureDefaultAppArmorProfile() error { 18 if apparmor.IsEnabled() { 19 loaded, err := aaprofile.IsLoaded(defaultApparmorProfile) 20 if err != nil { 21 return fmt.Errorf("Could not check if %s AppArmor profile was loaded: %s", defaultApparmorProfile, err) 22 } 23 24 // Nothing to do. 25 if loaded { 26 return nil 27 } 28 29 // Load the profile. 30 if err := aaprofile.InstallDefault(defaultApparmorProfile); err != nil { 31 return fmt.Errorf("AppArmor enabled on system but the %s profile could not be loaded.", defaultApparmorProfile) 32 } 33 } 34 35 return nil 36 }