我有一個 Docker 容器正在運行,我想使用make kill.
這是我的Makefile:
kill:
CONTAINER=$(docker ps -a -q --filter ancestor=container-name); \
docker kill $$CONTAINER
它給出了錯誤:
CONTAINER=; \
docker kill $CONTAINER
"docker kill" requires at least 1 argument.
See 'docker kill --help'.
看起來變數CONTAINER是空的。但是在shell中運行:
$(docker ps -a -q --filter ancestor=container-name)
回傳容器 id,實際上它列印:
c1cddc4d19a0: command not found
uj5u.com熱心網友回復:
我假設您沒有定義一個名為 的 make 變數docker ps -a -q --filter ancestor=container-name,而是希望將其作為程式運行并獲取其輸出。
如果是這樣,您需要$像對變數所做的那樣轉義此處:
kill:
CONTAINER=$$(docker ps -a -q --filter ancestor=container-name); \
docker kill $$CONTAINER
否則 make 認為這$(docker ps -a -q --filter ancestor=container-name)是對不存在的變數的參考,并將替換空字串。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/405248.html
標籤:
