Class: VagrantPlugins::Vocker::Provisioner
- Inherits:
-
Object
- Object
- VagrantPlugins::Vocker::Provisioner
- Defined in:
- lib/vocker/provisioner.rb
Overview
TODO: Improve handling of vagrant-lxc specifics (like checking for apparmor
profile stuff + autocorrection)
Instance Method Summary collapse
-
#initialize(machine, config, installer = nil, client = nil) ⇒ Provisioner
constructor
A new instance of Provisioner.
- #provision ⇒ Object
Constructor Details
#initialize(machine, config, installer = nil, client = nil) ⇒ Provisioner
Returns a new instance of Provisioner.
10 11 12 13 14 |
# File 'lib/vocker/provisioner.rb', line 10 def initialize(machine, config, installer = nil, client = nil) super(machine, config) @installer = installer || DockerInstaller.new(@machine, config.version) @client = client || DockerClient.new(@machine) end |
Instance Method Details
#provision ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/vocker/provisioner.rb', line 16 def provision @logger = Log4r::Logger.new("vagrant::provisioners::vocker") @logger.info("Checking for Docker installation...") @installer.ensure_installed # Attempt to start service if not running @client.start_service unless @client.daemon_running? raise Errors::DockerNotRunning end if config.images.any? @machine.ui.info(I18n.t("vagrant.docker_pulling_images")) @client.pull_images(*config.images) end if config.containers.any? @machine.ui.info(I18n.t("vagrant.docker_starting_containers")) @client.run(config.containers) end end |