diff --git a/pkg/config/config_linux.go b/pkg/config/config_linux.go index 8fdc0c473..06c277061 100644 --- a/pkg/config/config_linux.go +++ b/pkg/config/config_linux.go @@ -2,6 +2,7 @@ package config import ( "io/ioutil" + "os" "strings" ) @@ -10,9 +11,23 @@ func isWSL() bool { return err == nil && strings.Contains(string(data), "microsoft") } +func isContainer() bool { + data, err := ioutil.ReadFile("/proc/1/cgroup") + + if strings.Contains(string(data), "docker") || + strings.Contains(string(data), "/lxc/") || + []string{string(data)}[0] != "systemd" && + []string{string(data)}[0] != "init" || + os.Getenv("container") != "" { + return err == nil && true + } + + return err == nil && false +} + // GetPlatformDefaultConfig gets the defaults for the platform func GetPlatformDefaultConfig() OSConfig { - if isWSL() { + if isWSL() && !isContainer() { return OSConfig{ EditCommand: ``, EditCommandTemplate: "",