Skip to content

Instantly share code, notes, and snippets.

@pveierland
Last active April 2, 2024 04:14
Show Gist options
  • Save pveierland/a90a060d829a35bc0e1e7ce52905f0ed to your computer and use it in GitHub Desktop.
Save pveierland/a90a060d829a35bc0e1e7ce52905f0ed to your computer and use it in GitHub Desktop.
docker wrappers
function docker() {
# source: https://github.com/moby/moby/issues/33673#issuecomment-817117924
if [ "$1" = "service" ] && [ "$2" = "logs" ]; then
shift 2
args=()
follow=
for arg in "$@"; do
if [ "$arg" = "-f" ] || [ "$arg" = "--follow" ]; then follow=1
else args+=( "$arg" )
fi
done
service="${args[-1]}"
args=("${args[@]::${#args[@]}-1}")
/usr/bin/docker service logs --timestamps "${args[@]}" "$service" 2>&1 | sort -k 1 || return "$?"
[ -z "$follow" ] || /usr/bin/docker service logs --timestamps --follow "${args[@]}" --tail 0 "$service" || return "$?"
else
/usr/bin/docker "$@" || return "$?"
fi
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment