我有一些用Python(http://www.pyinvoke.org/)编写的调用任务,这些任务涉及docker-compose run --rm <service_name> <command>
命令来执行容器内的某些操作。但是-如果我的服务已经“启动”,我想自动执行docker-compose exec <service_name> <command>
命令。
是否有任何简便的方法来检查服务是否已在运行,并且以此为基础-使用exec
而不是run --rm
?也许我已经缺少一些docker-compose
命令了?
示例任务:
@task
def migrate(c):
c.run("docker-compose run --rm web ./manage.py makemigrations")
c.run("docker-compose run --rm web ./manage.py migrate")