Myślę, że masz kilka problemów, pierwszym jest to, że konfiguracja laravel .env powinna wskazywać na kontener MySQL, a nie localhost
DB_HOST=127.0.0.1
powinno być
DB_HOST=db
Drugi błąd, o którym mówiłeś, nie jest związany z Dockerem
prawdopodobnie jest to związane z brakującą zależnością, powinieneś uruchomić
composer require doctrine/dbal
Powiedziałeś też:
Powinieneś zbudować swój obraz na wierzchu obrazu PHP 7/Apache i dodać go do pliku dockerowego budowania, ponieważ twoje zmiany (rozszerzenia php, konfiguracje... itd.) nie są trwałe. Proponuję użyć Laradock lub jakiekolwiek inne istniejące środowisko Laravel/docker.