Ansible w / Docker – 显示当前容器状态

我正在一个小的Ansible项目中使用Docker容器。

我会尽量保持我的问题:

我想获得正在运行的Dockercontainer的状态!

我的意思是说,我想获得容器的当前状态,Docker使用“docker ps”命令显示你。

例子是:

  1. 向上
  2. 已退出
  3. 重新启动

我想从特定的容器中获得这些结果中的一个。 但是使用CommandShell 模块

KR

这个问题并不清楚,但总的来说,你可以在两种情况下使用docker工人:

  • 通过使用docker模块

http://docs.ansible.com/ansible/latest/docker_module.html

- name: data container docker: name: mydata image: busybox state: present volumes: - /data 
  • 通过调用内部的Dockerfile

    FROM centos7 RUN ansible-playbook -i inventory playbook.yml

有一个可靠的模块docker_image_facts可以给你关于图像的信息。 您正在寻找的东西,将是docker_container_facts,目前不存在。 好主意,但。

你的问题有点不清楚。

我最好的尝试 – 你想输出'dockerps' – 首先想到的是使用Ansible命令模块,但你不想使用它。

那么有几个docker模块:

  1. docker – 这是用于pipe理Docker容器生命周期的原始Ansible模块。
  2. docker_container – pipe理docker集装箱生命周期的可靠模块。

你可以看看选项 – >参数来得到你正在寻找什么。


以下是用于pipe理/使用Docker的Ansible模块的完整列表。

不幸的是,Docker周围的模块目前都不能“列出容器”。 我做了以下工作,以获取状态:

 - name: get container status shell: docker ps -a -f name={{ container }} --format {%raw%}"table {{.Status}}"{%endraw%} | awk 'FNR == 2 {print}' | awk '{print $1}' register: status 

结果将在状态variables中可用

Interesting Posts