当前位置: 首页 > 知识库问答 >
问题:

从连接到docker容器的代码/命令行运行ansible-playbook

姬歌者
2023-03-14

我用这个:

在/etc/ansible/hosts文件中指定docker容器

但是在查看答案时,我看到指向物理文件的变量,例如:

inventory = Inventory(loader=loader, sources='/home/slotlocker/hosts2')
playbook_path = '/home/slotlocker/ls.yml'

因此,我不太清楚为什么这比不使用Python ansible API而直接从命令行调用要好。

共有1个答案

田权
2023-03-14

可以将Ansible安装在Docker容器中,然后在容器内本地运行它。例如,在Dockerfile中,包括:

# Install Ansible
RUN pip install ansible
COPY ansible /tmp/ansible
# Run Ansible to configure the machine
RUN cd /tmp/ansible && ansible-playbook -i inventory/docker example_playbook.yml
 类似资料:
  • 问题内容: 我要完成的工作是在已经使用Ansible在Digital Ocean Ubuntu / Docker Droplet上创建的Docker容器内运行命令。 似乎找不到任何东西,或者我主要是缺少一些东西。这是我在剧本中完成的任务。我对Ansible非常陌生,因此任何建议或智慧都将不胜感激。 问题答案: 您应该能够使用以下命令执行脚本(包含命令序列): 应该可以通过Ansible流程访问。

  • 问题内容: 在Mac上如何从命令行连接到MySQL?(即给我看代码) 我正在做一个PHP / SQL教程,但首先假设您已经在MySQL中。 问题答案: 看到这里http://dev.mysql.com/doc/refman/5.0/en/connecting.html 上面的选项表示: 查看链接,那里有详细的链接! 如Rick所述,您可以通过不这样传递密码来避免将密码作为命令的一部分传递: 编辑此

  • 问题内容: 我看到很多人都在为此苦苦挣扎,好像在redis容器映像中可能有一个错误,而其他人似乎在追寻类似的问题。 我在DockerHub上使用标准Redis映像。(https://github.com/dockerfile/redis) 像这样运行它: 进入服务器后,就可以启动服务器,并从容器映像进行Redis ping了。 不幸的是,我无法从主机连接到Redis容器。 我已经尝试设置,例如下面

  • 我试图在docker容器中使用docker compose来运行shell脚本。我正在使用Dockerfile构建容器环境并安装所有依赖项。然后我将所有项目文件复制到容器中。据我所知,这很有效。(我对docker还是相当陌生的,docker撰写) 我的Dockerfile: 我目前正在尝试的是: docker编写文件: 这导致容器无法启动,从日志中我得到以下结果: 有关更多参考和信息,请参阅我的e

  • 我正在运行2个spring boot应用程序:一个客户端和rest-api。客户机与rest-api通信,rest-API与mongodb数据库通信。所有3层都在docker容器中运行。 我启动容器,通常指定docker文件中公开的端口,并将它们映射到主机上的端口,例如:-p 7070:7070,其中7070是docker文件中公开的端口。 当我通过< code > Java-jar[applic

  • 我遵循以下指示https://code.visualstudio.com/docs/setup/mac但我没有成功。这就是我进去时发生的事情 我得到了以下信息: 我还查找了以下问题:如何在OSX上从命令行打开Visual Studio代码?,这没用。 我在VSCode中只有一个终端选项,zsh。