docker - 使用 docker as ansible 时没有模块命名异常
问题描述
我正在尝试在 docker 容器中测试 ansible,我已将一个 docker 容器分配为“ansible-controller”,其余两个作为目标节点。我正在使用启用 ssh 的 ubuntu docker 映像来生成 docker 容器。下面是dockerfile:-
FROM ubuntu:16.04
RUN apt-get update && apt-get install -y openssh-server
RUN mkdir /var/run/sshd
RUN echo 'root:Passw0rd' | chpasswd
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]*
我还在控制器容器中安装了“sshpass”和“ansible”包,但是当我尝试将 ansible 模块“ping”到目标时,我面临以下问题:-
target1 | FAILED! => {
"changed": false,
"failed": true,
"module_stderr": "",
"module_stdout": "Traceback (most recent call last):\r\n File \"/root/.ansi
ble/tmp/ansible-tmp-1586534281.47-159197676145489/ping\", line 44, in <module>\r
\n import exceptions\r\nImportError: No module named 'exceptions'\r\n",
"msg": "MODULE FAILURE",
"parsed": false
}
以下是我的库存文件:-
target1 ansible_host=172.17.0.3 ansible_ssh_pass=Passw0rd ansible_python_interpreter=/usr/bin/python3.5
我无法解决此问题,因此请求您的帮助。提前致谢
解决方案
我的坏..目标机器没有安装python。
推荐阅读
- swift - 从 postId firebase 和 swift 获取帖子
- laravel - 调用控制器方法是一种好习惯吗?
- spring-boot - 在插入之前查询弹性搜索
- module - 当使用模块变量作为输入变量时,有没有办法像我们对子程序变量一样指定 intent(in) 属性?
- python - 如何让 django-ldapdb 将数据源识别为 LDAP
- java - SQLite 查询未创建表;没有产生错误
- c - C - 混合文本文件数据 > 到不同的数组(Int 和 String)
- mdx - 在 mdx 中使用 WITH 检索行名
- performance - Mathematica:代码在几天前提供了输出,但现在一直处于“运行”状态
- javascript - Jquery 正在阻止表单提交