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.



204
205
206
# File 'lib/conjure/service/docker_host.rb', line 204

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

Instance Attribute Details

#hostObject

Returns the value of attribute host.



202
203
204
# File 'lib/conjure/service/docker_host.rb', line 202

def host
  @host
end

Instance Method Details

#destroy_all(options) ⇒ Object



220
221
222
223
224
225
226
# File 'lib/conjure/service/docker_host.rb', line 220

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



216
217
218
# File 'lib/conjure/service/docker_host.rb', line 216

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

#find(options) ⇒ Object



208
209
210
211
212
213
214
# File 'lib/conjure/service/docker_host.rb', line 208

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