Ansible Docker MacOS 上的容器动态清单
Ansible Docker containers dynamic inventory on MacOS
我已经使用以下命令启动了一个 Docker 容器:
docker run tomcat:latest
然后我创建了一个名为 docker.yml 的文件,其中包含以下内容:
plugin: community.docker.docker_containers
docker_host: unix://var/run/docker.sock
最后我尝试获取当前 运行 Docker 个容器的列表,使用:
ansible-inventory -i docker.yml --list
然而,我得到的不是 运行 个容器的列表,而是以下结果:
[WARNING]: * Failed to parse docker.yml with yaml plugin: Plugin configuration YAML file, not YAML inventory
[WARNING]: * Failed to parse docker.yml with constructed plugin: Incorrect plugin name in file: community.docker.docker_containers
[WARNING]: Unable to parse docker.yml as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
{
"_meta": {
"hostvars": {}
},
"all": {
"children": [
"ungrouped"
]
}
}
我是不是误解了 Ansible Docker 容器动态清单,还是我做错了什么?
我怀疑我遇到了系统混乱的情况,这就是解决方法:
- 我保留了位于 ~/Library/Python/3.9/.
的当前 Python 安装
- 尝试使用 pip 卸载 Ansible:
pip uninstall ansible
- 手动删除了所有 Ansible 的东西:
sudo rm -r /etc/ansible
sudo rm -r -/.ansible
sudo rm -r /usr/local/lib/python3.9/site-packages/ansible*
sudo rm /usr/local/bin/ansible*
- 全新安装 Ansible:
pip install ez_setup
pip install --user ansible
- 已安装 Ansible Docker 收集先决条件:
pip install docker
- 已安装 Ansible Docker 集合:
ansible-galaxy collection install community.docker
完成上述操作后,Ansible Docker 容器动态清单按预期工作且没有错误。
我已经使用以下命令启动了一个 Docker 容器:
docker run tomcat:latest
然后我创建了一个名为 docker.yml 的文件,其中包含以下内容:
plugin: community.docker.docker_containers
docker_host: unix://var/run/docker.sock
最后我尝试获取当前 运行 Docker 个容器的列表,使用:
ansible-inventory -i docker.yml --list
然而,我得到的不是 运行 个容器的列表,而是以下结果:
[WARNING]: * Failed to parse docker.yml with yaml plugin: Plugin configuration YAML file, not YAML inventory
[WARNING]: * Failed to parse docker.yml with constructed plugin: Incorrect plugin name in file: community.docker.docker_containers
[WARNING]: Unable to parse docker.yml as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
{
"_meta": {
"hostvars": {}
},
"all": {
"children": [
"ungrouped"
]
}
}
我是不是误解了 Ansible Docker 容器动态清单,还是我做错了什么?
我怀疑我遇到了系统混乱的情况,这就是解决方法:
- 我保留了位于 ~/Library/Python/3.9/. 的当前 Python 安装
- 尝试使用 pip 卸载 Ansible:
pip uninstall ansible
- 手动删除了所有 Ansible 的东西:
sudo rm -r /etc/ansible sudo rm -r -/.ansible sudo rm -r /usr/local/lib/python3.9/site-packages/ansible* sudo rm /usr/local/bin/ansible*
- 全新安装 Ansible:
pip install ez_setup pip install --user ansible
- 已安装 Ansible Docker 收集先决条件:
pip install docker
- 已安装 Ansible Docker 集合:
ansible-galaxy collection install community.docker
完成上述操作后,Ansible Docker 容器动态清单按预期工作且没有错误。