diff --git a/site/troubleshooting.md b/site/troubleshooting.md index 543a4cac..490df9a0 100644 --- a/site/troubleshooting.md +++ b/site/troubleshooting.md @@ -146,6 +146,12 @@ IP address/routing prefix length ([CIDR notation](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)) assigned on the weave network. +You can also supply a list of container IDs/names to `weave ps`, like this: + + $ sudo weave ps able baker + able ce:15:34:a9:b5:6d 10.2.5.1/24 + baker 7a:61:a2:49:4b:91 10.2.8.3/24 + ### Reboots When a host reboots, docker's default behaviour is to restart any diff --git a/weave b/weave index bdaf9283..387aabac 100755 --- a/weave +++ b/weave @@ -25,7 +25,7 @@ usage() { echo "weave detach [ ...] " echo "weave expose " echo "weave hide " - echo "weave ps" + echo "weave ps [ ...]" echo "weave status" echo "weave version" echo "weave stop" @@ -675,8 +675,8 @@ case "$COMMAND" in http_call $DNS_CONTAINER_NAME $DNS_HTTP_PORT GET /status 2>/dev/null || true ;; ps) - [ $# -eq 0 ] || usage - for CONTAINER_ID in $(docker ps -q) ; do + [ $# -eq 0 ] && CONTAINERS="$(docker ps -q)" || CONTAINERS="$@" + for CONTAINER_ID in $CONTAINERS ; do if CONTAINER_ADDRS=$(with_container_netns $CONTAINER_ID container_weave_addrs 2>&1) ; then CONTAINER_MAC=$(echo "$CONTAINER_ADDRS" | grep -o 'link/ether .*' | cut -d ' ' -f 2) CONTAINER_IPS=$(echo "$CONTAINER_ADDRS" | grep -o 'inet .*' | cut -d ' ' -f 2)