【问题标题】:Add Docker label if variable is true in an Ansible playbook如果变量在 Ansible 剧本中为真,则添加 Docker 标签
【发布时间】:2022-07-12 22:27:03
【问题描述】:

我正在尝试设置一个 ansible 条目,其中仅当变量为 true 时才将 docker 标签添加到容器中,如果为 false 则跳过它。

一个例子,如果use_my_label_1: true

...
labels:
  my_label_1: "something"
  my_label_2: "something else"

否则use_my_label_1: false

...
labels:
  my_label_2: "something else"

我在网上搜索,只能找到设置标签值或完全跳过任务的示例,但不是我需要的。有人能做到这一点吗?

【问题讨论】:

标签: docker ansible


【解决方案1】:

一种选择是使用omit 特殊值和ternary 过滤器:

    - docker_container:
        name: sleeper
        image: docker.io/alpine:latest
        command: sleep inf
        labels:
          my_label_1: "{{ use_my_label_1|default(false)|ternary('something', omit) }}"
          my_label_2: "something else"

如果use_my_label_1true,这将同时应用my_label_1my_label_2。如果use_my_label_1false 或未定义,则只会应用my_label_2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 2018-09-21
    相关资源
    最近更新 更多