当我运行 docker-compose 时,它会创建一个 Web 容器和 postgres 容器。
我想通过类似的方式手动触发我的 Django 测试运行
docker-compose run web python manage.py test
这样做的问题是它创建了一个新的容器(需要应用新的迁移、内务工作等)
我倾向于做类似的事情
docker exec -i -t <containerid> python manage.py test
这引入了一个新问题,我必须运行docker ps
首先获取容器名称。这样做的全部目的是自动运行每个构建的测试,因此它必须自动化,手动运行docker ps
不是一个解决方案。
那么有没有办法动态获取容器id或者有更好的方法来做到这一点?如果您可以在 docker-compose 中分配容器名称,这将不是问题
虽然提供了接受的答案,但答案本身与该问题的标题并不真正相关:
动态获取 docker-compose 创建的正在运行的容器名称
要动态检索 docker-compose 运行的容器的名称,您可以执行以下命令:
$(docker inspect -f '{{.Name}}' $(docker-compose ps -q web) | cut -c2-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)