使用Ansible docker_container,我该如何显示标准? (标准输出)

我正在使用Ansible及其模块docker_containerdocker_container中启动磁带机testing容器。 这很好,因为我不必让npm搞乱我的主机,我唯一的开发盒依赖是python和docker。

我需要能够看到stdout ,看看testing已经运行。 然而,Docker的--attach选项没有在docker_containerdocker_container ,我找不到任何方法从容器启动时stdout

我可以回到bash脚本启动docker集装箱,但我宁愿不…

如何用Ansible的docker_container模块显示容器的标准?

您可以使用此命令查看docker logs containerNamedocker logs containerName 。 要根据TRACE,INFO等的级别打印日志,请尝试supervisord。

不要使用Ansible来运行简单的unit testing。 Ansible使复杂的事情变得简单而容易。

下面的bash脚本是4行,而Ansible playbook已经在25行了,由于并发问题和输出格式问题(我敢肯定我会find更多的),它仍然不能完全运行。

docker的Ansible还是太新了,不太容易处理并发问题,缺lessdocker特性等等,而且应该只在你做一些复杂的事情时使用bash不能轻易处理的事情(比如处理远程服务器,重试等)

 #!/bin/bash docker build -t server-unit-test . docker run -it --name server-unit-test server-unit-test npm test docker rm server-unit-test