Folks;
unsure whether this is the right place to ask: I want to deploy docker images (living locally in tar files on a file share) using this approach. puppet should ensure that (a) the latest docker image always is present and (b) all relevant containers run using the latest image.
Right now, for this purpose I use a declaration like this:
docker::image { 'p20':
ensure => present,
require => File['/tmp/app-latest.tgz'],
docker_tar => "/tmp/app-latest.tgz",
notify => Exec['/opt/relaunch-app.sh']
}
However, this seems to make puppet "docker load" the image (and subsequently restart the containers) in each puppet run rather than just after the app-latest.tgz has somehow changed. Is there any way to achieve what I want here? Can puppet handle this, at all?
TIA and all the best,
Kristian
Folks;
unsure whether this is the right place to ask: I want to deploy docker images (living locally in tar files on a file share) using this approach. puppet should ensure that (a) the latest docker image always is present and (b) all relevant containers run using the latest image.
Right now, for this purpose I use a declaration like this:
docker::image { 'p20':
ensure => present,
require => File['/tmp/app-latest.tgz'],
docker_tar => "/tmp/app-latest.tgz",
notify => Exec['/opt/relaunch-app.sh']
}
However, this seems to make puppet "docker load" the image (and subsequently restart the containers) in each puppet run rather than just after the app-latest.tgz has somehow changed. Is there any way to achieve what I want here? Can puppet handle this, at all?
TIA and all the best,
Kristian