Ansible:想在主机中使用var

时间:2016-05-23 13:30:57

标签: ansible ansible-playbook

我正在使用Ansile 2.0.1.0和Docker 我想连接到容器以在Ansbile中创建一个Docker容器 还要在变量中管理容器的名称 但在执行时我收到错误消息。

main.yml

- name: data container
  hosts: localhost
  roles:
    - role: docker
  tasks:
    - debug: var=docker_hostname
- name: hogefuga
  hosts: "{{docker_hostname}}"
  connection: docker
  roles:
    - hogefuga

作用/码头工人/任务/ main.yml

- name: Create Container
  shell: "docker run --name={{docker_hostname}}"

- name: host add DockerContainer
  add_host: name={{ docker_hostname }} group="dockers"

group_vars /所有

docker_hostname: hoge

错误消息

TASK [debug] *******************************************************************
ok: [localhost] => {
    "docker_hostname": "hoge"
}
ERROR! 'docker_hostname' is undefined

我猜测将var用于主机 我该如何修复错误?

1 个答案:

答案 0 :(得分:0)

我找到了Anser。 Is it possible to define playbook-global variables in Ansible?

我不知道可以将group_name设置为hosts。

- name: hogefuga
  hosts: dockers
  connection: docker
  roles:
    - hogefuga