X-Git-Url: http://www.club.cc.cmu.edu/~cmccabe/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=dssh;h=a00ca4d8b7af6edfcc11057adf4029a3f95197a8;hb=f1d171743a8d86cb67810fb4b97b79a0ce525eda;hp=c67976eb10ccda6b0427e854d3ac7c4323703a8b;hpb=94e79ad8c88e8f089c828b358e568cd39894c4de;p=cmccabe-bin diff --git a/dssh b/dssh index c67976e..a00ca4d 100755 --- a/dssh +++ b/dssh @@ -9,7 +9,50 @@ die() { exit 1 } -CONTAINER=${1} -[ "x${CONTAINER}" == "x" ] && die "You must supply a container name as the first argument." -shift -docker exec -it "${CONTAINER}" bash "${@}" +usage() { + cat </dev/null || die "docker must be on the PATH." + +if [ "x${DOCKER_IMAGE_NAME}" == "x" ]; then + if [ "x${DOCKER_IMAGE_ID}" == "x" ]; then + usage + exit 1 + fi +else + if [ "x${DOCKER_IMAGE_ID}" == "x" ]; then + : + else + echo "You must not supply both an ID and a name." + exit 1 + fi + DOCKER_IMAGE_ID=$(docker ps -f name=${DOCKER_IMAGE_NAME} -q) + [ "x${DOCKER_IMAGE_ID}" == "x" ] && \ + die "failed to find a docker image named ${DOCKER_IMAGE_NAME}" +fi + +docker exec -it "${DOCKER_IMAGE_ID}" /bin/bash