首页 > 解决方案 > 更改时在 docker::run 块之前运行 exec

问题描述

我的 puppet 代码中有以下 exec 块,它将我登录到 AWS ECR Repo。

  exec { 'aws ecr get-login':
    command => "aws ecr get-login --no-include-email --region eu-west-1 > /tmp/docker-login.sh;
                 chmod a+x /tmp/docker-login.sh;
                 /tmp/docker-login.sh > /tmp/docker.login",
    path    => ['/bin', '/usr/bin', '/usr/sbin', ],
  }

就像现在一样,它在每次 puppet 运行时都会执行,这有点矫枉过正。我只想在以下块发生更改时执行它。

docker::run { 'test':
    ensure               => present,
    image                => "image:${docker_tag}",
    pull_on_start        => true,
  }

我知道我可以使用通知,问题是,当 docker 块更改时,我想在处理 docker::run 语句之前运行 exec

标签: puppet

解决方案


推荐阅读