time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

index.js (449B)


      1 'use strict';
      2 const fs = require('fs');
      3 
      4 let isDocker;
      5 
      6 function hasDockerEnv() {
      7 	try {
      8 		fs.statSync('/.dockerenv');
      9 		return true;
     10 	} catch (_) {
     11 		return false;
     12 	}
     13 }
     14 
     15 function hasDockerCGroup() {
     16 	try {
     17 		return fs.readFileSync('/proc/self/cgroup', 'utf8').includes('docker');
     18 	} catch (_) {
     19 		return false;
     20 	}
     21 }
     22 
     23 module.exports = () => {
     24 	if (isDocker === undefined) {
     25 		isDocker = hasDockerEnv() || hasDockerCGroup();
     26 	}
     27 
     28 	return isDocker;
     29 };