Skip to content

Instantly share code, notes, and snippets.

@roylee0704
Created December 9, 2016 08:24
Show Gist options
  • Save roylee0704/b5c8090e6cbfe1a9ae6c63062623a7cd to your computer and use it in GitHub Desktop.
Save roylee0704/b5c8090e6cbfe1a9ae6c63062623a7cd to your computer and use it in GitHub Desktop.
how to grep docker log
docker logs nginx 2>&1 | grep "127."
# ref: http://stackoverflow.com/questions/34724980/finding-a-string-in-docker-logs-of-container
@httpassoca
Copy link

based man

@drjasonharrison
Copy link

More flexible, take the container ID as the first argument, and pass remaining arguments to grep

#!/usr/bin/env bash
#
# Docker outputs logs to stderr not stdout, redirect output for the specified container and
# pass remaining arguments to grep
# 
# Usage:
#   dockergrep.bash [container ID] -i error
#   dockergrep.bash [container name] 127.
#   dockergrep.bash [container name] -C 3 Successfully
#   
docker logs "$1" 2>&1 | grep "${@:2}" 

# ref: http://stackoverflow.com/questions/34724980/finding-a-string-in-docker-logs-of-container

@Damon07
Copy link

Damon07 commented Jul 17, 2023

thks

@GoodbyeLittleD
Copy link

you are powerful

@CharlieUnderwood
Copy link

excellent!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! You are the one who knows "2>&1" well.

@adshrc
Copy link

adshrc commented Feb 27, 2024

if you get "grep: (standard input): binary file matches" error, when doing e.g. --since=48h, try this:

docker logs nginx 2>&1 | grep -a "127."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment