Detect Docker also using /.dockerenv

This commit is contained in:
Ville Skyttä 2022-12-28 23:12:58 +02:00
parent f848ee3fa2
commit 70a8f589c6
2 changed files with 9 additions and 0 deletions

View File

@ -364,6 +364,10 @@ func HostDev(combineWith ...string) string {
return GetEnv("HOST_DEV", "/dev", combineWith...) return GetEnv("HOST_DEV", "/dev", combineWith...)
} }
func HostRoot(combineWith ...string) string {
return GetEnv("HOST_ROOT", "/", combineWith...)
}
// getSysctrlEnv sets LC_ALL=C in a list of env vars for use when running // getSysctrlEnv sets LC_ALL=C in a list of env vars for use when running
// sysctl commands (see DoSysctrl). // sysctl commands (see DoSysctrl).
func getSysctrlEnv(env []string) []string { func getSysctrlEnv(env []string) []string {

View File

@ -259,6 +259,11 @@ func VirtualizationWithContext(ctx context.Context) (string, string, error) {
} }
} }
if PathExists(HostRoot(".dockerenv")) {
system = "docker"
role = "guest"
}
// before returning for the first time, cache the system and role // before returning for the first time, cache the system and role
cachedVirtOnce.Do(func() { cachedVirtOnce.Do(func() {
cachedVirtMutex.Lock() cachedVirtMutex.Lock()