Skip to content
Snippets Groups Projects
delete 1.23 KiB
Newer Older
  • Learn to ignore specific revisions
  •   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=${PROJECT}_default)
    
      if [[ ! -n ${ID} ]]; then
        echo "No network to be removed."
        return
      fi
      echo "Deleting network ..."
    
      docker network rm ${PROJECT}_default
    
    function rebuildtraefik() {
      cd ${HOME}/.traefik || return
      if [[ -f "docker-compose.yml" ]]; then
    
        docker compose --project-name traefik up -d --remove-orphans
    
      fi
      if [[ "$NETWORKS" == "" ]]; then
        return
      fi
      docker network rm ${NETWORKS}
    }
    
    
      NETWORKS=""
      while [[ -n $1 ]]; do
        PROJECT=$1
        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
        shift
      done
      rebuildtraefik
    
    else
      echo "Please provide the project name you want to delete."
      exit
    fi