791f0913 by Adam Heath

Add a volume to save /run, specify the name with INKLUSTER_VOLUME_NAME.

This is supported via a config file, and a command line option.
1 parent caf2f4e2
......@@ -4,6 +4,35 @@ set -e
INKLUSTER_IMAGE=brainfood/inkluster-dev
if [[ -e .inkluster.env ]]; then
. .inkluster.env
fi
declare -a REST=()
while [[ $# -gt 0 ]]; do
case "$1" in
(-v)
INKLUSTER_VOLUME_NAME="$2"
shift 2
;;
(*)
break
;;
esac
done
has_volume=
if [[ $INKLUSTER_VOLUME_NAME ]]; then
docker volume inspect "inkluster-$INKLUSTER_VOLUME_NAME" 1>/dev/null 2>/dev/null || has_volume=1
fi
case "$1" in
(reset)
[[ $has_volume ]] && docker volume rm "inkluster-$INKLUSTER_VOLUME_NAME"
exit
;;
esac
declare -a docker_args=(--rm -i)
[[ -t 0 ]] && docker_args+=(-t)
......@@ -26,5 +55,11 @@ fi
docker_args+=(-e MAP_UID="$(id -u)" -e MAP_GROUPS="$(id -G)")
docker run "${docker_args[@]}" "$INKLUSTER_IMAGE"
if [[ $INKLUSTER_VOLUME_NAME ]]; then
if [[ ! $has_volume ]]; then
docker volume create "inkluster-$INKLUSTER_VOLUME_NAME"
fi
docker_args+=(-v "inkluster-$INKLUSTER_VOLUME_NAME":/run)
fi
docker run "${docker_args[@]}" "$INKLUSTER_IMAGE"
......