Le '[2002] Connexion refusée' signifie que vous pouvez accéder au serveur de base de données, mais que vous n'avez pas le droit d'accès pour l'utilisateur (dans votre cas, admin). Par défaut, mariadb a un utilisateur root avec le mot de passe donné par MYSQL_ROOT_PASSWORD et cet utilisateur peut se connecter depuis n'importe quel serveur (%).
Si vous souhaitez utiliser une sur-connexion à vos bases de données, vous devez la créer dans le serveur de bases de données avec le droit d'attribution sur les bases de données des emplacements choisis.
Le problème ici est que vous avez nommé votre serveur de base de données 'mysql' (nom du service dans le fichier docker-compose). Mais par défaut, phpmyadmin essaie de se connecter à un serveur de base de données nommé 'db'. Ajout de PMA_HOST: mysql
sous la section environnement du service phpmyadmin résoudra ce problème.
Je pense que MYSQL_USERNAME et PMA_ARBITRARY sont inutiles si vous travaillez avec la configuration par défaut (connexion avec root à votre serveur de bases de données)