Add named-containers as a core plugin

This commit is contained in:
Loïc Guitaut
2015-09-28 12:15:16 +02:00
parent 4c1cc38338
commit e7e43141d6
2 changed files with 20 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
[plugin]
description = "dokku core named containers plugin"
version = "0.4.0"
[plugin.config]

View File

@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
APP="$1"; APP_ROOT="$DOKKU_ROOT/$APP"
[[ -z $(stat -t "$APP_ROOT"/CONTAINER.* 2>/dev/null) ]] && exit 0
for container in "$APP_ROOT"/CONTAINER.*; do
DYNO=$(echo "$container" | sed -r 's/.*CONTAINER\.(.*)/\1/') || true
NAME="$APP.$DYNO"
PREVIOUS=$(docker ps -a -q -f name="$NAME") || true
if [[ -n $PREVIOUS ]]; then
docker rename "$NAME" "$NAME.$(date +%s)" > /dev/null
fi
ID=$(cat "$container")
CURRENT_NAME=$(docker inspect -f '{{.Name}}' "$ID" | tr -d /)
docker rename "$CURRENT_NAME" "$NAME" > /dev/null
done