1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'manifests/master/docker_registry.pp', line 1
class classroom_legacy::master::docker_registry {
class {'docker':
extra_parameters => '--insecure-registry localhost:5000',
}
docker::image { 'registry':
image_tag => '2',
}
docker::run {'registry':
image => 'registry:2',
ports => ['5000:5000'],
before => Exec['docker push'],
}
$image_name = 'centos'
$image_tag = '7'
$image_name_full = "${image_name}:${image_tag}"
# Cache the centos image in the local registry
docker::image { $image_name_full:}
# Tag image
exec { "docker tag ${image_name_full} localhost:5000/${image_name_full}":
path => '/usr/bin/:/bin',
unless => "docker images | grep localhost:5000/${image_name}",
require => [Docker::Image[$image_name_full],Docker::Image['registry']],
}
exec { 'docker push':
command => "docker push localhost:5000/${image_name_full}",
path => $::path,
unless => "curl -Is -X GET http://localhost:5000/v2/centos/manifests/${::operatingsystemmajrelease} | grep '200 OK'",
require => Exec["docker tag ${image_name_full} localhost:5000/${image_name_full}"]
}
}
|