【问题标题】:How to check if docker is installed - ansible - centos如何检查docker是否安装 - ansible - centos
【发布时间】:2019-12-18 03:31:10
【问题描述】:

我正在尝试在我的 ansible 剧本中制作一个有条件的“何时”。 如果未安装 docker,请安装 docker。 所以我有一本剧本,里面有一些任务。 我想做类似的事情

when: docker != not exist

when: docker == false

当我得到设置时,从一个安装了 docker 的我得到这个:

"ansible_docker0": {
            "active": true,
            "device": "docker0",
            "features": {
When no docker : 
SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false

【问题讨论】:

    标签: ansible yaml


    【解决方案1】:

    问:“如果没有安装 docker,请安装 docker。”

    答:使用package – Generic OS package manager。如果 package 尚未安装,下面的任务将安装它。默认是有条件的。

    - name: install package
      package:
        name: "{{ package }}"
        state: present
    

    Q:“如何查看docker是否安装-ansible-centos”

    A:详情请见How to get the installed yum packages with Ansible?

    【讨论】:

      【解决方案2】:

      看起来,任务仍在运行,并且正在安装 docker。 ?如果安装了不应该跳过吗?

      我也在寻找相反的方法。如果安装了 docker(或其他),则跳过其余任务。

      【讨论】:

        【解决方案3】:

        您可以通过尝试一个简单的命令来检查是否安装了某些东西,注册输出,使用安装任务的when: 部分中的output.failed 以仅在检查失败时运行。

        以 docker 为例。
        任务中的版本命令:

        - name: Check If Docker Is Installed
          command: docker --version
          register: docker_valid
          ignore_errors: yes
        

        如果您不包含 ignore_errors: yes 并且您没有安装它,那么运行任务的 playbook 将退出,我们希望继续。

        您可以使用调试模块将注册的变量打印到输出

        - name: Debug Docker Output
          debug:
            var: docker_valid
        

        仅当 docker_vaild.failed 返回 true 时才会运行下一个和后续任务。

        - name: Install Docker pre-requisites
          yum:
            name: yum-utils
            state: latest
          when: docker_valid.failed
        ...
        

        使用该格式,您可以安装 docker 或您需要的任何其他东西。

        【讨论】:

          猜你喜欢
          • 2017-07-09
          • 1970-01-01
          • 2022-10-17
          • 2023-03-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-09-19
          • 2016-11-08
          相关资源
          最近更新 更多