当前位置: 首页 > 面试题库 >

使用Ansible在Docker容器内运行命令

郁景龙
2023-03-14
问题内容

我要完成的工作是在已经使用Ansible在Digital Ocean Ubuntu / Docker Droplet上创建的Docker容器内运行命令。

似乎找不到任何东西,或者我主要是缺少一些东西。这是我在剧本中完成的任务。我对Ansible非常陌生,因此任何建议或智慧都将不胜感激。

- name: Test Deploy
    hosts: [my-cluster-of-servers]

tasks: 
  - name: Go Into Docker Container And Run Multiple Commands
    docker:
      name: [container-name]
      image: [image-ive-created-container-with-on-server]
      state: present
      command: docker exec -it [container-name] bash

问题答案:

您应该能够使用以下命令执行脚本(包含命令序列)docker exec

docker exec container-name bash -l -c /path/to/script > /path/to/log
  • /path/to/script 应该可以通过Ansible流程访问。
  • /path/to/log 是容器内的一条路径,可以在一个卷中共享。


 类似资料:
  • 我用这个: 在/etc/ansible/hosts文件中指定docker容器 但是在查看答案时,我看到指向物理文件的变量,例如: 因此,我不太清楚为什么这比不使用Python ansible API而直接从命令行调用要好。

  • 问题内容: 我准备了一个docker-compose文件来部署带有数据库的容器: 没关系。但是现在我需要创建一个数据库并建立其结构。我需要执行一些sql命令。为了检查我是否能够做到这一点,我将其添加到服务中: 但是我遇到以下错误: 我感觉命令是在Sql Server实例启动之前执行的。我该如何解决?Sql Server启动后如何执行一些sql? 问题答案: 问题是在容器中仅执行一个命令。当您在其中

  • 如何在docker容器中运行基于的测试用例? 我有一个简单的Spring Boot应用程序,它具有集成测试(组件级),使用与容器交互。测试用例正在破坏来自外部容器(本地机器)的罚款。 我们正在容器中运行所有内容,并且build正在docker jenkins映像上运行。Docker文件正在创建jar,然后创建image。找不到安装的docker。下面是我的docker文件。 处理这个案子最好的办法

  • 如果我的问题不清楚,请让我知道。PG

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

  • 问题内容: 在pod内的容器中,如何使用kubectl运行命令?例如,如果我需要在容器内执行以下操作: kubectl得到豆荚 我已经试过了:在我的dockerfile中,我有以下命令: 编辑:我正在尝试OSX文件,我已将其更正为linux二进制文件。(由@svenwltr纠正 在创建docker文件时,这是成功的,但是当我在容器中运行kubectl get pod时, 我收到此错误: 与服务器的