Module: DockerPid

Defined in:
lib/docker_pid.rb,
lib/docker_pid/version.rb

Defined Under Namespace

Modules: Host Classes: NotDockerProcess, ProcessNotExist

Constant Summary collapse

VERSION =
"0.4.0"

Class Method Summary collapse

Class Method Details

.container_info(container_id) ⇒ Object



39
40
41
42
43
44
45
46
47
# File 'lib/docker_pid.rb', line 39

def self.container_info(container_id)
  c = Docker::Container.get(container_id)
  { container_id: container_id,
    name: c.info['Name'],
    image: c.info['Config']['Image'],
    ip: c.info['NetworkSettings']['IPAddress'],
    port_binding: c.info['HostConfig']['PortBindings']
  }
end

.container_ps(container_id) ⇒ Object



49
50
51
52
53
54
55
56
# File 'lib/docker_pid.rb', line 49

def self.container_ps(container_id)
  c = Docker::Container.get(container_id)
  chunks = []
  c.exec(%w(ps aux)) do |stream, chunk|
    chunks << chunk if stream == :stdout
  end
  chunks.join("\n")
end

.ps(num = 10, sort_by = :pctcpu) ⇒ Object



58
59
60
# File 'lib/docker_pid.rb', line 58

def self.ps(num=10, sort_by=:pctcpu)
  Sys::ProcTable.ps.sort_by{|p| p.send(sort_by) }.reverse[0..num-1]
end