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)
尝试移动到下面的杀线: