使用 docker compose logs -f | grep 命令時遇到了 grep: (standard input): binary file matches 錯誤。
這個錯誤通常發生在 grep 嘗試搜索包含二進制內容的文件時。docker compose logs 命令會輸出容器的日志,而這些日志可能包含二進制數據,導致 grep 無法正確處理。
為了解決這個問題,你可以嘗試使用 --text 選項來告訴 grep 將輸入視為文本文件。你可以使用如下命令:
docker compose logs -f --no-color | grep --text "pattern"
這里的 --no-color 選項用于禁用日志輸出中的顏色代碼,以避免干擾 grep 命令。–text 選項則告訴 grep 將輸入視為文本進行匹配。
通過在 grep 命令中使用這些選項,你應該能夠避免出現二進制文件匹配的錯誤,并正確過濾容器日志中的文本內容。