#!/usr/bin/env bash # # Get a login for a docker container. # die() { echo $@ exit 1 } 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 if [ ${ALLOCATE_TTY} == 1 ]; then docker exec -it "${DOCKER_IMAGE_ID}" "${@}" ${RUN_COMMAND} else docker exec -i "${DOCKER_IMAGE_ID}" "${@}" ${RUN_COMMAND} & wait fi