我运行 Ansible Playbook,它收集机器特定信息并将日期存储在文件中。每个主机一个。因此,我最终得到了一堆文件,现在应该将它们发送到我的基于 Docker 的应用程序以进行进一步处理。
实际上,我需要将其存储在特定文件夹中并创建一个卷,以便容器能够读取文件。
这需要 /tmp/incoming 的存在/创建...现在,如果监视器应用程序被移动或需要第二个实例,您将必须访问文件系统并创建目录。
所以我想创建一个更动态的卷:
docker volume create --name monitor-incoming:/var/www/monitor/incoming
Run Code Online (Sandbox Code Playgroud)
现在 Docker 容器将能够访问该卷。但是我可以使用 Ansible 将文件“复制”到这个远程卷吗?将它们发送到 monitor-incoming 而不是 /tmp/incoming ?
我尝试编写一个 Ansible yml,它从加密的保险库文件中读取 root 密码,然后将其传递给 become_pass:
- hosts: sirius
remote_user: ansusr
become: yes
vars_files:
- vault_vars.yml
become_pass: "{{ root_pass_sirius }}"
Run Code Online (Sandbox Code Playgroud)
但这失败了:错误!'become_pass' 不是 Play 的有效属性
但为什么 ?- 根据 Ansible 文档,这是一个有效的命令。