You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
449 B
29 lines
449 B
'use strict'; |
|
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; |
|
};
|
|
|