草庐IT

docker - Ansible w/Docker - 显示当前容器状态

我正在开发一个使用Docker容器的Ansible小项目。我的问题会简短:我想获取一个正在运行的Dockercontainer的状态!我的意思是,我想获取容器的当前状态,Docker通过使用“dockerps”命令向您显示。例如:向上退出正在重新启动我想从特定容器中获取其中一个结果。但是没有使用Command或Shell模块!韩国 最佳答案 从Ansible2.8开始,您可以使用docker_container_info,它实质上返回来自dockerinspect的输入:-name:Getinfosoncontainerdocker

docker - Ansible: 'item' 未定义

我正在尝试使用with_items和delegate_to在多个主机中运行Docker容器。我在/etc/ansible/hosts中有一个组test:[test]my_machine1my_machine2还有这个任务:-name:Runappcontainerdocker:name:"{{artifact_id}}"insecure_registry:trueimage:"{{image}}:{{version}}"pull:alwaysstate:reloadedports:-"{{port_mapping}}"delegate_to:'{{item}}'with_items:-

jenkins - 使用 Ansible、Jenkins 和 docker 构建快速测试环境

我打算用ansible、jenkins和docker一起搭建测试环境。计划是这样的。为您在环境中使用的每个工具创建ansibleplaybook,并将它们存储在git上。使用jenkinscreatejob在开发服务器上创建docker容器,并使用ansibleplaybook来配置docker容器。将创建Jenkins作业,以便用户可以选择他们想要与docker容器一起使用的playbook,并且将相应地构建容器。整个概念可以概括如下图所示。我看到的好处是精确生产环境的自动复制。根据要求扩展您的测试环境。为单个服务器上的应用程序测试提供不同的平台。更快的集成测试。推广敏捷方法。自由开

docker - 使用 Ansible 运行 'docker volume create'?

我有一个Rails应用程序,我通过Ansible在Docker容器中部署。到目前为止,我的应用包含三个容器:一个Docker卷容器(使用dockervolumecreate--namedbdata创建)一个Postgres容器(带有volumes_fromdbdata)Rails应用容器(链接到postgres容器)我的部署手册正在运行,但我必须通过SSH在服务器上运行dockervolumecreate命令。我很想通过Ansible做到这一点,所以我可以将应用程序的新实例部署到一个空容器上。有没有办法通过Ansible运行dockervolumecreate,或者有其他方法可以做到吗

docker - 使用 Ansible 部署 docker 时如何设置运行参数?

使用ansible部署docker时,ARGs是怎么设置的?这是以下docker命令中的ARGsdockercreate--namemy_containermy_imageARGS我尝试在docker:命令变量中设置ARGS,但没有被拾取。设置运行ARGS的正确方法是什么?这是我尝试过的-name:deploydockerimagesudo:yesdocker:image:"{{docker_image_name}}:{{docker_image_version}}"state:reloadedname:"{{docker_container_name}}"command:"{{doc

shell - ansible playbook命令中的问题?

我正在尝试在我的机器上的其他机器上的docker上执行命令。当我执行这个命令时:-name:Addheadercommand:dockerexecclibash-l-c"echo'{"payload":{"header":{"channel_header":{"channel_id":"gll","type":2}},"data":{"config_update":'$(catjaguar_update.json)'}}}'|jq.>jaguar_update_in_envelope.json"通过ansibleplaybook,我收到如下所示的错误。fatal:[command-ta

docker - 为什么ansible总是在模板中用单引号替换双引号?

我正在尝试使用Ansible模板生成Dockerfile-请参阅AnsibleGalaxy和Github中的角色源和模板我需要生成一个标准的Dockerfile行,例如:...VOLUME["/etc/postgresql/9.4"]...但是,当我将其放入输入文件时:...instruction:CMDvalue:"[\"/etc/postgresql/{{postgresql_version}}\"]"...它最终呈现为:...VOLUME['/etc/postgresql/9.4']...我失去了“(这使得Dockerfiles无用)有什么帮助吗?如何说服Jinja不要用'代替"

带有ansible等待数据库的docker

我尝试使用ansible部署docker。我有一个docker数据库容器,另一个容器中是我的Web应用程序,我尝试链接这两个容器。问题是数据库容器没有时间进行self配置,并且Web容器已经启动。我的ansible剧本看起来像:...-name:runmysqlindockercontainerdocker:image:"mysql:5.5"name:databaseenv:"MYSQL_ROOT_PASSWORD=password"state:running-name:runapplicationcontainersdocker:name:"application"image:"my

python - Ansible:维护 sudoer 列表的最佳实践

在documentation,有一个使用lineinfile模块编辑/etc/sudoers的例子。-lineinfile:"dest=/etc/sudoersstate=presentregexp='^%wheel'line='%wheelALL=(ALL)NOPASSWD:ALL'"感觉有点骇人听闻。我认为user模块中有一些东西可以处理这个问题,但似乎没有任何选项。在/etc/sudoers中添加和删除用户的最佳做法是什么? 最佳答案 该行实际上并未将用户添加到sudoers,只是确保wheel组可以为所有命令使用无密码sud

python - 在ansible中合并字典

我目前正在构建一个使用ansible安装PHP的角色,但在合并字典时遇到了一些困难。我已经尝试了几种方法来做到这一点,但我无法让它像我想要的那样工作:#Avarsfile:my_default_values:key=valuemy_values:my_key=my_value#Inaplaybook,Icreateatasktoattemptmergingthe#twodictionaries(whichdoesn'twork):-debug:msg="{{item.key}}={{item.value}}"with_dict:my_default_values+my_values#I