github.com/juju/juju@v0.0.0-20240327075706-a90865de2538/container/utils.go (about)

     1  // Copyright 2016 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package container
     5  
     6  import (
     7  	"os/exec"
     8  	"runtime"
     9  )
    10  
    11  var RunningInContainer = func() bool {
    12  	if runtime.GOOS != "linux" {
    13  		return false
    14  	}
    15  
    16  	/* running-in-container is in init-scripts-helpers, and is smart enough
    17  	 * to ask systemd whether it knows if the task is running in a container.
    18  	 */
    19  	cmd := exec.Command("running-in-container")
    20  	return cmd.Run() == nil
    21  }
    22  
    23  func ContainersSupported() bool {
    24  	return !RunningInContainer()
    25  }