Я думаю, что это проблема с сетью: вы разрешаете пользователю testUser
подключаться к вашей базе данных к localhost, но это означает, что он сможет подключаться только с клиента, работающего внутри контейнера. Как вы можете видеть, когда вы входите в свой контейнер MariaDB с хост-компьютера, вы получаете адрес докера хоста 172.17.0.1
.
Одно из решений - разрешить вашему пользователю подключаться с любого ip:
grant all on emails.* to 'testUser'@'%' identified by '123456';
или IP из данной подсети. Вы можете проверить, как это сделать, в CREATE USER docs .
Другим решением было бы добавить пользователя для IP хоста. Вы можете получить IP-адрес хоста из контейнера и добавить пользователя для этого IP-адреса. О том, как получить IP хоста из контейнера, проверьте этот вопрос .