dynamic获取由docker-compose创build的正在运行的容器名称
当我运行我的docker-compose时,它会创build一个web容器和postgres容器。
我想手动触发我的Djangotesting运行,通过类似的东西
docker-compose run web python manage.py test
问题在于它创build了一个新的容器(需要应用新的迁移,家务pipe理等)
我倾向于select类似的选项
docker exec -i -t <containerid> python manage.py test
这引入了一个新问题,那就是我必须先运行docker ps
来获取容器名称。 这一切的重点是自动运行每个版本的testing,所以它必须自动化,手动运行docker ps
不是一个解决scheme。
那么有没有办法dynamic获取容器ID还是有更好的方法来做到这一点? 如果您可以在docker-compose中分配容器名称,这不会成为问题
只需使用docker-compose exec
。 它将在已经运行的容器中执行,而不是启动一个新的容器。
docker-compose exec web python manage.py test
您可以在docker-compose.yml文件中使用container_name
选项为容器指定一个名称。
container_name: container_name
然后,可以使用该容器轻松地运行命令。
docker exec container_name python manage.py test
。
有关docker-compose选项的更多信息,请访问官方文档。
- 从CircleCi 2.0迁移后失败的规范
- 将Docker部署到AWS Elastic Beanstalk – 如何将端口转发到主机? (端口绑定)
- 有没有办法得到bazel沙盒目录时不支持沙盒?
- 在CircleCI中使用ECS存储库图像作为构build图像
- Circle CI Docker服务不cachingCOPY
- 使用docker-compose启动web和后端。 我怎样才能从网上获得后端的IP?
- 将Docker映像推送到Google Containerregistry时,导致身份validation错误的原因是什么?
- Exec不受lxc驱动程序的支持:如何解决这个问题?
- Circle CI 2.0 Rails Redis Resque – Rspec Redis Server Not Found错误