From a2427837dc75f117ef02a55a7ae284d71d35ee4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Guitaut?= Date: Thu, 8 Oct 2015 22:44:39 +0200 Subject: [PATCH] Fix the `destroy` command Checking for container with its service name instead of ID. Doing a chmod 777 on `/data` before removing data from the service. --- commands | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/commands b/commands index 6a59c5c..9f72714 100755 --- a/commands +++ b/commands @@ -46,6 +46,7 @@ case "$1" in [[ -z $2 ]] && dokku_log_fail "Please specify a name for the service" verify_service_name "$2" SERVICE="$2"; SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"; LINKS_FILE="$SERVICE_ROOT/LINKS" + SERVICE_NAME=$(get_service_name "$SERVICE") [[ -s "$LINKS_FILE" ]] && dokku_log_fail "Cannot delete linked service" @@ -64,23 +65,18 @@ case "$1" in fi dokku_log_info1 "Deleting $SERVICE" - if [[ -f "$SERVICE_ROOT/ID" ]] && docker ps -aq --no-trunc | grep -q "$(cat "$SERVICE_ROOT/ID")"; then - ID=$(cat "$SERVICE_ROOT/ID") - - dokku_log_verbose_quiet "Deleting container data" - service_start "$SERVICE" - docker exec -it "$ID" chmod -R 777 /data - + if [[ -n $(docker ps -aq -f name="$SERVICE_NAME") ]]; then service_stop "$SERVICE" dokku_log_verbose_quiet "Removing container" - docker rm -v "$ID" > /dev/null + docker rm -v "$SERVICE_NAME" > /dev/null sleep 1 else dokku_log_verbose_quiet "No container exists for $SERVICE" fi dokku_log_verbose_quiet "Removing data" + docker run --rm -v "$SERVICE_ROOT/data:/data" "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION" chmod 777 -R /data rm -rf "$SERVICE_ROOT" dokku_log_info2 "$PLUGIN_SERVICE container deleted: $SERVICE"