class Sidedock::Container
Attributes
id[RW]
ports[RW]
Public Class Methods
create(image_name_or_id, options)
click to toggle source
# File lib/sidedock/container.rb, line 10 def self.create(image_name_or_id, options) raise "No image name given" unless image_name_or_id.present? id = machine.execute "create -P #{image_name_or_id}" new id, **options end
new(id, port_mapping: {}, **options)
click to toggle source
# File lib/sidedock/container.rb, line 5 def initialize(id, port_mapping: {}, **options) @id = id @port_mapping = port_mapping end
using_image(image)
click to toggle source
# File lib/sidedock/container.rb, line 46 def self.using_image(image) ps_output = machine.execute "ps -a -q --filter ancestor=#{image.id}" ps_output.each_line.map do |id| new id end end
Public Instance Methods
bash(command)
click to toggle source
# File lib/sidedock/container.rb, line 38 def bash(command) machine.execute "exec -t #{@id} bash -c '#{command}'" end
ip()
click to toggle source
# File lib/sidedock/container.rb, line 42 def ip machine.ip end
remove()
click to toggle source
# File lib/sidedock/container.rb, line 26 def remove machine.execute "rm -f #{@id}" end
running?()
click to toggle source
# File lib/sidedock/container.rb, line 34 def running? machine.execute('ps -q --no-trunc').include? @id end
start()
click to toggle source
# File lib/sidedock/container.rb, line 16 def start raise "already started" if running? machine.execute "start #{@id}" end
stop()
click to toggle source
# File lib/sidedock/container.rb, line 21 def stop raise "not running" unless running? machine.execute "stop #{@id}" end