feige
2023-05-04 f5a0b1f7fc7e7f8dce11c71d26a6fca92b29a0d7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
'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;
};