; | |
const fs = require('fs'); | |
let isDocker; | |
function hasDockerEnv() { | |
try { | |
fs.statSync('/.dockerenv'); | |
return true; | |
} catch (_) { | |
return false; | |
} | |
} | |
function hasDockerCGroup() { | |
try { | |
return fs.readFileSync('/proc/self/cgroup', 'utf8').includes('docker'); | |
} catch (_) { | |
return false; | |
} | |
} | |
module.exports = () => { | |
if (isDocker === undefined) { | |
isDocker = hasDockerEnv() || hasDockerCGroup(); | |
} | |
return isDocker; | |
}; | |