1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
use std::fs;
fn has_docker_env_file() -> bool {
fs::metadata("/.dockerenv").is_ok()
}
fn has_docker_in_cgroup() -> bool {
match fs::read_to_string("/proc/self/cgroup") {
Ok(file_contents) => file_contents.contains("docker"),
Err(_error) => false,
}
}
pub fn is_docker() -> bool {
let is_docker = has_docker_env_file() || has_docker_in_cgroup();
is_docker
}