puppet/docker/manifests/init.pp
2017-05-19 15:05:32 +03:00

46 lines
924 B
Puppet

# Install Docker.
#
class docker {
if ! ($::operatingsystem in ["CentOS","RedHat"] and versioncmp($::operatingsystemrelease, "7") > 0) {
fail('Docker is supported only on EL 7')
}
package { 'docker':
ensure => installed,
} ->
service { 'docker':
ensure => running,
enable => true,
}
python::pip::install { 'docker-compose':
ensure => '1.8.1',
}
}
# Load docker image.
#
define docker::image($source) {
require docker
require gnu::tar
file { "/usr/local/src/${name}":
ensure => present,
mode => '0644',
owner => 'root',
group => 'wheel',
source => $source,
}
exec { "docker-load-${name}":
refreshonly => true,
path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin',
command => "/bin/sh -c 'umask 022; docker load --input /usr/local/src/${name}'",
subscribe => File["/usr/local/src/${name}"],
}
}