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.
Showing
1 changed file
with
36 additions
and
1 deletions
... | @@ -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" | ... | ... |
-
Please register or sign in to post a comment