Instalaste docker-compose una vez en un lugar. Luego lo eliminaste y lo instalaste en otra ubicación.
De esa forma, se encontró con una optimización de bash para no tener que buscar $PATH cada vez que escribe un comando, almacenando en memoria caché los resultados. El hash de la ruta es una tabla hash, mantenida por bash, que contiene las ubicaciones en el disco el shell debe buscar programas ejecutables cuando se ejecuta un comando. La tabla hash se borra en eventos que obviamente invalidan los resultados (como modificar $PATH), o al usar el hash
incorporado comando.
Cuando ejecutó docker-compose nuevamente, bash simplemente intentó obtenerlo desde donde lo encontró la última vez, solo que ya no estaba allí, por lo que recibió ese mensaje de error.
Para invalidar el hash de docker-compose, ejecute el comando:
hash docker-compose