Module: MKIt::DockerHelper

Included in:
DockerListener, Pod, Service
Defined in:
lib/mkit/app/helpers/docker_helper.rb

Instance Method Summary collapse

Instance Method Details

#attach_network(network_id, instance_id) ⇒ Object



51
52
53
# File 'lib/mkit/app/helpers/docker_helper.rb', line 51

def attach_network(network_id, instance_id)
  MKIt::CmdRunner.run("docker network connect #{network_id} #{instance_id}")
end

#create_instance(cmd) ⇒ Object

from ERB template



8
9
10
# File 'lib/mkit/app/helpers/docker_helper.rb', line 8

def create_instance(cmd)
  MKIt::CmdRunner.run(cmd)
end

#create_network(network_name) ⇒ Object

network



38
39
40
# File 'lib/mkit/app/helpers/docker_helper.rb', line 38

def create_network(network_name)
  MKIt::CmdRunner.run("docker network create #{network_name}")
end

#create_volume(volume_name) ⇒ Object

volumes



63
64
65
# File 'lib/mkit/app/helpers/docker_helper.rb', line 63

def create_volume(volume_name)
  MKIt::CmdRunner.run("docker volume create #{volume_name}")
end

#delete_volume(volume_name) ⇒ Object



67
68
69
# File 'lib/mkit/app/helpers/docker_helper.rb', line 67

def delete_volume(volume_name)
  MKIt::CmdRunner.run("docker volume rm #{volume_name}")
end

#dettach_network(network_id, instance_id) ⇒ Object



47
48
49
# File 'lib/mkit/app/helpers/docker_helper.rb', line 47

def dettach_network(network_id, instance_id)
  MKIt::CmdRunner.run("docker network disconnect #{network_id} #{instance_id}")
end

#execute_local(instance_id, cmd) ⇒ Object



30
31
32
# File 'lib/mkit/app/helpers/docker_helper.rb', line 30

def execute_local(instance_id, cmd)
  MKIt::CmdRunner.run("docker exec -it #{instance_id} #{cmd}")
end

#inspect_instance(instance_id) ⇒ Object



24
25
26
27
28
# File 'lib/mkit/app/helpers/docker_helper.rb', line 24

def inspect_instance(instance_id)
  # this one does not work on ubunto MKIt::CmdRunner.run("docker inspect #{instance_id}")
  x = `docker inspect #{instance_id}`
  JSON.parse(x).first
end

#inspect_volume(volume_name) ⇒ Object



71
72
73
74
# File 'lib/mkit/app/helpers/docker_helper.rb', line 71

def inspect_volume(volume_name)
  x = MKIt::CmdRunner.run("docker volume inspect #{volume_name}")
  JSON.parse(x).first
end

#network_exists?(network_name) ⇒ Boolean

Returns:

  • (Boolean)


42
43
44
45
# File 'lib/mkit/app/helpers/docker_helper.rb', line 42

def network_exists?(network_name)
  x = MKIt::CmdRunner.run('docker network ls')
  x.match(/\b#{network_name}\b/)
end

#remove_instance(instance) ⇒ Object



20
21
22
# File 'lib/mkit/app/helpers/docker_helper.rb', line 20

def remove_instance(instance)
  MKIt::CmdRunner.run("docker rm -f #{instance}")
end

#remove_network(network_id) ⇒ Object



55
56
57
# File 'lib/mkit/app/helpers/docker_helper.rb', line 55

def remove_network(network_id)
  MKIt::CmdRunner.run("docker network rm #{network_id}")
end

#start_instance(instance_id) ⇒ Object



12
13
14
# File 'lib/mkit/app/helpers/docker_helper.rb', line 12

def start_instance(instance_id)
  MKIt::CmdRunner.run("docker start #{instance_id}")
end

#stop_instance(instance_id) ⇒ Object



16
17
18
# File 'lib/mkit/app/helpers/docker_helper.rb', line 16

def stop_instance(instance_id)
  MKIt::CmdRunner.run("docker stop #{instance_id}")
end