O problema não está nos contêineres, mas na configuração do mysql. Por padrão, o mysql escuta apenas no host local. Você precisa alterá-lo para 0.0.0.0
bind address.
Por exemplo antes de mudar você pode ver 127.0.0.1:3306. Deve ser 0.0.0.0:3306
root@mysql:~# netstat -anp |grep LISTEN
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 418/mysqld
edit /etc/mysql/my.cnf
edite a linha de endereço de ligação para ficar assim:
bind-address = 0.0.0.0
Em seguida, reinicie o serviço mysql.
Conecte-se ao mysql no container mysql e crie o usuário root @ "all" com o comando abaixo.
CONCEDA TODOS OS PRIVILÉGIOS EM . TO 'root' @ '%' WITH GRANT OPTION IDENTIFICADO POR 'PASSWORD'; privilégios de flush;
Lembre-se: substitua PASSWORD por uma senha de root para root @ all que você deseja ter