【发布时间】:2018-07-11 05:27:22
【问题描述】:
使用来自 Docker Hub 的this docker image,我正在尝试运行一个可配置容器运行的机器的 ansible playbook。
作为一个例子,我运行这个:
docker run --net="host" -v <path_inventory>:/inventory -v <path_playbook>:/playbook.yml williamyeh/ansible:ubuntu16.04 ansible-playbook -vvvv -i /inventory /playbook.yml
使用此选项,我可以 ping 本地主机,并且可以访问库存和剧本。
库存配置为使用本地连接:
[executors]
127.0.0.1
[executors:vars]
ansible_connection=local
ansible_user=<my_user_in_docker_host>
ansible_become=True
executors 组是从剧本中引用的组。
我看到 playbook 正在尝试以 root 身份连接(我在附加到容器时默认得到的内容)。在运行容器时指定 -u 似乎与 Ansible 不兼容。
为用户建立本地连接:root
... 在本地连接成功后,出现错误,抱怨任何命令不可用。这对我来说毫无意义,因为 root 或非 root 用户都可以执行它们。
有什么想法吗?
【问题讨论】: