如果您的清单文件中设置了字典作为变量,需要在Playbook中使用'-e'选项传递变量。以下是一个示例:
清单文件(inventory.yml)中定义变量:
all:
hosts:
server1:
vars:
docker_env:
username: "myusername"
password: "mypassword"
Playbook中使用该变量:
- name: Set Docker env
hosts: server1
vars:
docker_env: "{{ hostvars[inventory_hostname]['docker_env'] }}"
tasks:
- name: Set Docker credentials
docker_login:
username: "{{ docker_env['username'] }}"
password: "{{ docker_env['password'] }}"