def initialize(config = {})
super
begin
require 'docker' unless defined?(::Docker)
rescue LoadError
fail "Docker client library is not available. Try installing `docker-api' gem."
end
::Docker.url = get_config(:docker_url)
if image = get_config(:docker_image)
@images = []
@base_image = get_or_pull_image(image)
create_and_start_container
ObjectSpace.define_finalizer(self, proc { cleanup_container })
elsif container = get_config(:docker_container)
@container = ::Docker::Container.get(container)
else
fail 'Please specify docker_image or docker_container.'
end
end