# Installs Docker repository, docker-engine, docker-compose class ubuntu_server::docker { File{ owner => 'root', group => 'root', mode => 644, } Exec{ path => $::path, } exec{'docker-apt-repo': command => 'apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D', unless => 'apt-key list | grep -q 2C52609D', notify => Exec['apt-get-update'], } exec{'apt-get-update': command => 'apt-get update', refreshonly => true, } file{'/etc/apt/sources.list.d/docker.list': ensure => present, content => 'deb http://apt.dockerproject.org/repo ubuntu-trusty main', notify => Exec['apt-get-update'], } package{'lxc-docker': ensure => purged, before => Package['docker-engine'], } package{'docker-engine': ensure => present, require => [Exec['docker-apt-repo'],File['/etc/apt/sources.list.d/docker.list'],Exec['apt-get-update']], } service{'docker': ensure => running, require => Package['docker-engine'], } exec{'docker-compose': command => 'curl -L https://github.com/docker/compose/releases/download/1.6.2/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose', creates => '/usr/local/bin/docker-compose', } exec{'docker-compose-bash-completion': command => 'curl -L https://raw.githubusercontent.com/docker/compose/1.6.2/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose', creates => '/etc/bash_completion.d/docker-compose', } file{'/usr/local/bin/docker-compose': mode => '0750', require => Exec['docker-compose'], } }