34 lines
1.2 KiB
Ruby
34 lines
1.2 KiB
Ruby
module VagrantPlugins
|
|
module DockerProvisioner
|
|
module Cap
|
|
module Debian
|
|
module DockerConfigureAutoStart
|
|
def self.docker_configure_auto_start(machine)
|
|
machine.communicate.tap do |comm|
|
|
if !comm.test('grep -q \'\-r=true\' /etc/default/docker')
|
|
comm.sudo("echo 'DOCKER_OPTS=\"-r=true ${DOCKER_OPTS}\"' >> /etc/default/docker")
|
|
comm.sudo("stop docker")
|
|
comm.sudo("start docker")
|
|
|
|
# Wait some amount time for the pid to become available
|
|
# so that we don't start executing Docker commands until
|
|
# it is available.
|
|
if machine.guest.capability?(:docker_daemon_running)
|
|
[0, 1, 2, 4].each do |delay|
|
|
sleep delay
|
|
break if machine.guest.capability(:docker_daemon_running)
|
|
end
|
|
else
|
|
# This OS doesn't support checking if Docker is running,
|
|
# so just wait 5 seconds.
|
|
sleep 5
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|