Module: Docker

Defined in:
lib/pangea/docker.rb

Constant Summary collapse

BIN =
ENV[%(DOCKER_BIN)] || %(docker).freeze

Class Method Summary collapse

Class Method Details

.build(image) ⇒ Object



30
31
32
33
34
35
36
37
# File 'lib/pangea/docker.rb', line 30

def build(image)
  cmd = []
  cmd << %(build)
  cmd << %(-t)
  cmd << %(#{image}:latest)
  cmd << %(.)
  run cmd
end

.create(name, image) ⇒ Object



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

def create(name, image)
  cmd = []
  cmd << %(create)
  cmd << %(-it)
  cmd << %(--name #{name})
  cmd << image
  cmd << %(/bin/bash)
  run cmd
end

.login(name) ⇒ Object



65
66
67
68
69
70
71
72
# File 'lib/pangea/docker.rb', line 65

def (name)
  cmd = []
  cmd << %(exec)
  cmd << %(-it)
  cmd << name
  cmd << %(/bin/bash)
  run cmd
end

.run(cmd) ⇒ Object



26
27
28
# File 'lib/pangea/docker.rb', line 26

def run(cmd)
  Shell.run(BIN, cmd)
end

.start(name) ⇒ Object



58
59
60
61
62
63
# File 'lib/pangea/docker.rb', line 58

def start(name)
  cmd = []
  cmd << %(start)
  cmd << name
  run cmd
end

.tag(image) ⇒ Object



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

def tag(image)
  sha = `git rev-parse --short HEAD`
  cmd = []
  cmd << %(tag)
  cmd << %(#{image}:latest)
  cmd << %(#{image}:#{sha})
  run cmd
end