#!/bin/bash function removecontainer() { docker container ls --all -q -f name=^${PROJECT}_ > /tmp/reset.lst IDS=$(cat /tmp/reset.lst) if [[ ! -n ${IDS} ]]; then echo "No containers to be removed." return fi echo "Deleting containers ..." for CONTAINERID in `cat /tmp/reset.lst`; do docker rm -f $CONTAINERID done rm /tmp/reset.lst } function removenetwork() { ID=$(docker network ls -q -f name=traefik_${PROJECT}) if [[ ! -n ${ID} ]]; then echo "No network to be removed." return fi echo "Deleting network ..." cd ${HOME}/.traefik || return if [[ -f "docker-compose.yml" ]]; then sed -i -e "/- ${PROJECT}$/d" docker-compose.yml sed -i -e "/^ ${PROJECT}:$/{N;d;}" docker-compose.yml docker-compose stop docker rm -f traefik_traefik_1 docker network rm traefik_${PROJECT} docker-compose --project-name traefik up -d fi } if [[ -n $1 ]]; then PROJECT=$1 else echo "Please provide the project name you want to delete." exit fi read -p "Are you sure you want to remove the project ${PROJECT} with all containers and network? Type YES to confirm: " CONFIRM if [[ "$CONFIRM" == YES ]]; then removecontainer removenetwork fi