community.docker.current_container_facts 模块 – 返回有关模块是否在容器中运行的事实

注意

此模块是 community.docker 集合 (版本 4.1.0) 的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.docker

要在 playbook 中使用它,请指定:community.docker.current_container_facts

community.docker 1.1.0 中的新增功能

概要

  • 返回有关模块是否在 Docker 或 podman 容器中运行的事实。

  • 此模块尝试尽力检测。可能存在某些特殊情况下它无法工作;如果您遇到这种情况,请 提交问题

属性

属性

支持

描述

check_mode

支持:完全支持

此操作不会修改状态。

可以在 check_mode 中运行并返回更改状态预测,而无需修改目标。

diff_mode

支持:N/A

此操作不会修改状态。

在差异模式下,将返回有关更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

facts

支持:完全支持

操作返回一个 ansible_facts 字典,该字典将更新现有的主机事实。

示例

- name: Get facts on current container
  community.docker.current_container_facts:

- name: Print information on current container when running in a container
  ansible.builtin.debug:
    msg: "Container ID is {{ ansible_module_container_id }}"
  when: ansible_module_running_in_container

返回的事实

此模块返回的事实添加到 hostvars 主机事实中/并更新 hostvars 主机事实,并且可以像任何其他主机事实一样按名称引用。它们不需要注册即可使用。

描述

ansible_module_container_id

字符串

检测到的容器 ID。

如果没有检测到容器,则包含空字符串。

返回:始终返回

ansible_module_container_type

字符串

检测到的容器环境。

如果没有检测到容器,则包含空字符串,或者包含标识容器环境的非空字符串。

docker 表示模块在常规 Docker 容器内运行。

azure_pipelines 表示模块在 Azure Pipelines 上运行。此信息似乎不再报告。

github_actions 表示模块在 GitHub Actions 上的 Docker 容器内运行。自 community.docker 2.4.0 版本起支持。

podman 表示模块在常规 Podman 容器内运行。自 community.docker 3.3.0 版本起支持。

返回:始终返回

只能返回

  • ""

  • "docker"

  • "azure_pipelines"

  • "github_actions"

  • "podman"

ansible_module_running_in_container

布尔值

模块是否能够检测到它在容器中运行。

返回:始终返回

作者

  • Felix Fontein (@felixfontein)