Method: Dockly::Docker#cleanup

Defined in:
lib/dockly/docker.rb

#cleanup(images) ⇒ Object



102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/dockly/docker.rb', line 102

def cleanup(images)
  info 'Cleaning up intermediate images'
  images ||= []
  images = images.compact
  ::Docker::Container.all(:all => true).each do |container|
    image_id = container.json['Image']
    if images.any? { |image| image.id.start_with?(image_id) || image_id.start_with?(image.id) }
      container.kill
      container.delete
    end
  end
  images.each { |image| image.remove rescue nil }
  info 'Done cleaning images'
end