hostinfo: detect being run in a container in more ways

Change-Id: I038ff7705ba232e6cf8dcc9775357ef708d43762
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
pull/5601/head
Brad Fitzpatrick 2 years ago committed by Brad Fitzpatrick
parent d5e7e3093d
commit 16939f0d56

@ -229,6 +229,15 @@ func inContainer() opt.Bool {
}
var ret opt.Bool
ret.Set(false)
if _, err := os.Stat("/.dockerenv"); err == nil {
ret.Set(true)
return ret
}
if _, err := os.Stat("/run/.containerenv"); err == nil {
// See https://github.com/cri-o/cri-o/issues/5461
ret.Set(true)
return ret
}
lineread.File("/proc/1/cgroup", func(line []byte) error {
if mem.Contains(mem.B(line), mem.S("/docker/")) ||
mem.Contains(mem.B(line), mem.S("/lxc/")) {

Loading…
Cancel
Save