Module: MKIt::DockerHelper
- Included in:
- CreatePodSaga, DestroyPodSaga, DockerListener, DockerLogListener, Pod, Service
- Defined in:
- lib/mkit/app/helpers/docker_helper.rb
Instance Method Summary collapse
- #attach_network(network_id, instance_id) ⇒ Object
- #clear_logs(instance_id) ⇒ Object
-
#create_instance(cmd) ⇒ Object
from ERB template.
-
#create_network(network_name) ⇒ Object
network.
-
#create_volume(volume_name) ⇒ Object
volumes.
- #delete_volume(volume_name) ⇒ Object
- #dettach_network(network_id, instance_id) ⇒ Object
- #execute_local(instance_id, cmd) ⇒ Object
- #inspect_instance(instance_id) ⇒ Object
- #inspect_volume(volume_name) ⇒ Object
- #logfile(instance_id) ⇒ Object
-
#logs(instance_id) ⇒ Object
logs.
- #network_exists?(network_name) ⇒ Boolean
- #remove_instance(instance) ⇒ Object
- #remove_network(network_id) ⇒ Object
- #start_instance(instance_id) ⇒ Object
- #stop_instance(instance_id) ⇒ Object
-
#to_docker_cpu_limit(k8s_cpu_limits) ⇒ Object
cpu limits.
Instance Method Details
#attach_network(network_id, instance_id) ⇒ Object
66 67 68 |
# File 'lib/mkit/app/helpers/docker_helper.rb', line 66 def attach_network(network_id, instance_id) MKIt::CmdRunner.run("docker network connect #{network_id} #{instance_id}") end |
#clear_logs(instance_id) ⇒ Object
45 46 47 |
# File 'lib/mkit/app/helpers/docker_helper.rb', line 45 def clear_logs(instance_id) `echo > #{logfile(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
53 54 55 |
# File 'lib/mkit/app/helpers/docker_helper.rb', line 53 def create_network(network_name) MKIt::CmdRunner.run("docker network create #{network_name}") end |
#create_volume(volume_name) ⇒ Object
volumes
78 79 80 |
# File 'lib/mkit/app/helpers/docker_helper.rb', line 78 def create_volume(volume_name) MKIt::CmdRunner.run("docker volume create #{volume_name}") end |
#delete_volume(volume_name) ⇒ Object
82 83 84 |
# File 'lib/mkit/app/helpers/docker_helper.rb', line 82 def delete_volume(volume_name) MKIt::CmdRunner.run("docker volume rm #{volume_name}") end |
#dettach_network(network_id, instance_id) ⇒ Object
62 63 64 |
# File 'lib/mkit/app/helpers/docker_helper.rb', line 62 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
86 87 88 89 |
# File 'lib/mkit/app/helpers/docker_helper.rb', line 86 def inspect_volume(volume_name) x = MKIt::CmdRunner.run("docker volume inspect #{volume_name}") JSON.parse(x).first end |
#logfile(instance_id) ⇒ Object
41 42 43 |
# File 'lib/mkit/app/helpers/docker_helper.rb', line 41 def logfile(instance_id) `docker inspect --format='{{.LogPath}}' #{instance_id}` end |
#logs(instance_id) ⇒ Object
logs
37 38 39 |
# File 'lib/mkit/app/helpers/docker_helper.rb', line 37 def logs(instance_id) `docker logs -n 20 #{instance_id}` end |
#network_exists?(network_name) ⇒ Boolean
57 58 59 60 |
# File 'lib/mkit/app/helpers/docker_helper.rb', line 57 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
70 71 72 |
# File 'lib/mkit/app/helpers/docker_helper.rb', line 70 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 |
#to_docker_cpu_limit(k8s_cpu_limits) ⇒ Object
cpu limits
93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/mkit/app/helpers/docker_helper.rb', line 93 def to_docker_cpu_limit(k8s_cpu_limits) if k8s_cpu_limits.nil? nil else cpu_limit = k8s_cpu_limits.to_s if cpu_limit.include?('m') cpu_limit = cpu_limit.delete_suffix('m') cpu_limit = (cpu_limit.to_f / 1000).to_s end cpu_limit end end |