O '[2002] Conexão recusada' significa que você pode acessar o servidor de banco de dados, mas não tem acesso correto para o usuário (no seu caso, admin). Por padrão o mariadb tem um usuário root com a senha dada por MYSQL_ROOT_PASSWORD e este usuário pode se conectar de qualquer servidor (%).
Se você deseja usar um login excessivo em seus bancos de dados, você deve criá-lo no servidor de bancos de dados com o direito de conceder em bancos de dados de locais escolhidos.
O problema aqui é que você nomeou seu servidor de banco de dados como 'mysql' (nome do serviço no arquivo docker-compose). Mas, por padrão, o phpmyadmin tenta se conectar a um servidor de banco de dados chamado 'db'. Adicionando
PMA_HOST: mysql
na seção de ambiente do serviço phpmyadmin resolverá esse problema. Acho que MYSQL_USERNAME e PMA_ARBITRARY são inúteis se você trabalha com configuração padrão (conexão com root ao seu servidor de banco de dados)