Ansible w / Docker – 显示当前容器状态
我正在一个小的Ansible项目中使用Docker容器。
我会尽量保持我的问题:
我想获得正在运行的Dockercontainer的状态!
我的意思是说,我想获得容器的当前状态,Docker使用“docker ps”命令显示你。
例子是:
- 向上
- 已退出
- 重新启动
我想从特定的容器中获得这些结果中的一个。 但是不使用Command或Shell 模块 !
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模块:
- docker – 这是用于pipe理Docker容器生命周期的原始Ansible模块。
- 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中可用