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 ...@@ -4,6 +4,35 @@ set -e
4 4
5 INKLUSTER_IMAGE=brainfood/inkluster-dev 5 INKLUSTER_IMAGE=brainfood/inkluster-dev
6 6
7 if [[ -e .inkluster.env ]]; then
8 . .inkluster.env
9 fi
10
11 declare -a REST=()
12 while [[ $# -gt 0 ]]; do
13 case "$1" in
14 (-v)
15 INKLUSTER_VOLUME_NAME="$2"
16 shift 2
17 ;;
18 (*)
19 break
20 ;;
21 esac
22 done
23
24 has_volume=
25 if [[ $INKLUSTER_VOLUME_NAME ]]; then
26 docker volume inspect "inkluster-$INKLUSTER_VOLUME_NAME" 1>/dev/null 2>/dev/null || has_volume=1
27 fi
28
29 case "$1" in
30 (reset)
31 [[ $has_volume ]] && docker volume rm "inkluster-$INKLUSTER_VOLUME_NAME"
32 exit
33 ;;
34 esac
35
7 declare -a docker_args=(--rm -i) 36 declare -a docker_args=(--rm -i)
8 37
9 [[ -t 0 ]] && docker_args+=(-t) 38 [[ -t 0 ]] && docker_args+=(-t)
...@@ -26,5 +55,11 @@ fi ...@@ -26,5 +55,11 @@ fi
26 55
27 docker_args+=(-e MAP_UID="$(id -u)" -e MAP_GROUPS="$(id -G)") 56 docker_args+=(-e MAP_UID="$(id -u)" -e MAP_GROUPS="$(id -G)")
28 57
29 docker run "${docker_args[@]}" "$INKLUSTER_IMAGE" 58 if [[ $INKLUSTER_VOLUME_NAME ]]; then
59 if [[ ! $has_volume ]]; then
60 docker volume create "inkluster-$INKLUSTER_VOLUME_NAME"
61 fi
62 docker_args+=(-v "inkluster-$INKLUSTER_VOLUME_NAME":/run)
63 fi
30 64
65 docker run "${docker_args[@]}" "$INKLUSTER_IMAGE"
......