vagrant/plugins/providers/docker/action/pull.rb

28 lines
693 B
Ruby

module VagrantPlugins
module DockerProvider
module Action
class Pull
def initialize(app, env)
@app = app
end
def call(env)
@env = env
@machine = env[:machine]
@provider_config = @machine.provider_config
@driver = @machine.provider.driver
# Skip pulling if the image is built
return @app.call(env) if @env[:create_image] || !@provider_config.pull
image = @provider_config.image
env[:ui].output(I18n.t("docker_provider.pull", image: image))
@driver.pull(image)
@app.call(env)
end
end
end
end
end