Ich versuche, das nächste Makefile auszuführen, aber wenn ich das Andockfenster ausführen kill es scheitert, weil nicht die "$ (sudo Docker ps -q)" erkennen oder es führt diesen Teil nicht aus .Makefile schlägt fehl Ausführen Sudo Docker Kill
Ich habe die nächste 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)
Wenn ich make kill
laufen wirft es den nächsten Fehler:
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
Es ist wie von Makefile hat "$" sieht nicht zu erkennen. Aber wenn ich manuell sudo docker kill $ (sudo docker ps -q) es funktioniert gut.
Sorry, mein Problem ist das nächste, ich habe den Post bearbeitet. –
In diesem Fall zählen Sie einfach alle 'ps' Ergebnisse auf. Aber im Allgemeinen ist es nicht gut, sudo in Makefiles zu verwenden. Schließlich wird es Sie bitten, jedes Mal ein Passwort einzugeben (außer Sie sagen Sudo, es nicht zu tun, was die Sicherheit senkt) – avsej
Das sudo docker kill $$ (sudo docker ps -q) funktioniert für mich. Wirklich danke –