Spaces:
Sleeping
Sleeping
import fs from 'node:fs'; | |
let isDockerCached; | |
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; | |
} | |
} | |
export default function isDocker() { | |
// TODO: Use `??=` when targeting Node.js 16. | |
if (isDockerCached === undefined) { | |
isDockerCached = hasDockerEnv() || hasDockerCGroup(); | |
} | |
return isDockerCached; | |
} | |