Jak ktoś wskazał w komentarzach, podany przez Ciebie plik docker-compose jest bardzo istotny dla Twojego pytania.
Dokumentacja links
w plikach docker-compose mówi
W twoim przypadku kontener bazy danych nosi nazwę db , więc rozwiązywanie db host z kontenera PHP powinien wskazywać na kontener MySQL. Zastępowanie localhost z db w twoim pliku konfiguracyjnym powinien umożliwiać kontenerowi PHP połączenie z MySQL.