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.
This commit is contained in:
12
commands
12
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"
|
||||
|
||||
Reference in New Issue
Block a user