当前位置:  开发笔记 > 编程语言 > 正文

动态获取由docker-compose创建的正在运行的容器名称

如何解决《动态获取由docker-compose创建的正在运行的容器名称》经验,为你挑选了1个好方法。

当我运行docker-compose时,它会创建一个Web容器和postgres容器。

我想通过类似的方式手动触发我的Django测试运行

docker-compose run web python manage.py test

问题是它创建了一个新容器(需要应用新的迁移,内部管理工作等)

我倾向于的选择是做类似的事情

docker exec -i -t  python manage.py test

这引入了一个新问题,即我必须先运行docker ps才能获取容器名称。这样做的全部目的是为每个构建自动运行测试,因此它必须是自动化的,手动运行docker ps不是解决方案。

那么,有没有一种方法可以动态获取容器ID,或者有更好的方法来做到这一点?如果您可以在docker-compose中分配容器名称,则不会有问题



1> Toni Van de ..:

虽然提供了可接受的答案,但答案本身与该问题的标题并不真正相关:

动态获取由docker-compose创建的正在运行的容器名称

要动态检索由docker-compose运行的容器的名称,可以执行以下命令:

$(docker inspect -f '{{.Name}}' $(./devbox docker-compose ps -q web) | cut -c2-)

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有