Class: Metaparticle::Docker

Inherits:
Object
  • Object
show all
Defined in:
lib/metaparticle/docker.rb

Instance Method Summary collapse

Instance Method Details

#in_docker_container?Boolean

Returns:

  • (Boolean)


3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/metaparticle/docker.rb', line 3

def in_docker_container?
  if ENV['METAPARTICLE_IN_CONTAINER'] == "true"
    return true
  end

  # Using same hack to work on macOS
  begin
    info = File.readlines('/proc/1/cgroup')

    # horribly ineffient, can do this better
    if !info.select {|line| line =~ /docker/}.empty?
      return true
    end
    if !info.select {|line| line =~ /kubepods/}.empty?
      return true
    end
  rescue
    return false
  end

  return false
end