Class: Conjure::Service::ContainerSet

Inherits:
Object
  • Object
show all
Defined in:
lib/conjure/service/docker_host.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ ContainerSet

Returns a new instance of ContainerSet.



210
211
212
# File 'lib/conjure/service/docker_host.rb', line 210

def initialize(options)
  self.host = options[:host]
end

Instance Attribute Details

#hostObject

Returns the value of attribute host.



208
209
210
# File 'lib/conjure/service/docker_host.rb', line 208

def host
  @host
end

Instance Method Details

#destroy_all(options) ⇒ Object



226
227
228
229
230
231
232
# File 'lib/conjure/service/docker_host.rb', line 226

def destroy_all(options)
  while container = find(:image_name => options[:image_name]) do
    Conjure.log "[docker] Stopping #{options[:image_name]}"
    host.command "stop #{container.id}"
    host.command "rm #{container.id}"
  end
end

#destroy_all_stoppedObject



222
223
224
# File 'lib/conjure/service/docker_host.rb', line 222

def destroy_all_stopped
  host.command "rm `#{host.docker_path} ps -a -q`"
end

#find(options) ⇒ Object



214
215
216
217
218
219
220
# File 'lib/conjure/service/docker_host.rb', line 214

def find(options)
  image_name = options[:image_name].clone
  image_name << ":" unless image_name.include? ":"
  id = host.command("ps | grep #{image_name} ; true").strip.split("\n").first.to_s[0..11]
  id = nil if id == ""
  Container.new(:host => host, :id => id) if id
end