Makefile无法执行sudo docker kill

我试图执行下一个Makefile,但是当我运行docker工杀死它失败,因为不检测“$(sudodockerps -q)”或它不执行这部分。

我有下一个Makefile:

.PHONY: kill all services farr-api farr-ingest farr-from-on-premise farr-real-time-processing farr-api: cd apis/1api && sudo docker-compose up -d farr-ingest: cd apis/2ingest && sudo docker-compose up -d farr-from-on-premise: cd apis/3onpremise && sudo docker-compose up -d farr-real-time-processing: cd apis/4realtimeprocessing && sudo docker-compose up -d services: cd services && sudo docker-compose up -d all: services farr-from-on-premise farr-real-time-processing farr-ingest farr-api kill: sudo docker kill $(sudo docker ps -q) 

当我运行make kill会抛出下一个错误:

  sudo docker kill "docker kill" requires at least 1 argument(s). See 'docker kill --help'. Usage: docker kill [OPTIONS] CONTAINER [CONTAINER...] Kill one or more running containers make: *** [kill] Error 1 

它看起来像“$”不检测由Makefile。 但是如果我手动运行sudo docker kill $(sudo docker ps -q)它工作正常。

目标应该是这样的:

 kill: for c in $$(sudo docker ps -q); do sudo docker kill $$c; done 

更新:事实certificate, docker kill作品与多个容器作为参数,所以只是逃离美元足以杀死所有的容器

 kill: sudo docker kill $$(sudo docker ps -q) 

尝试移动到下面的杀线: