У меня нет опыта работы с Laravel, но вот идея: убедитесь, что вы используете сокет TCP, а не сокет домена Unix.
Порт TCP (5432по умолчанию) выставляется на контейнере, но не на доменном сокете Unix.При запуске базы данных и приложения в одном и том же экземпляре ваше приложение может пытаться использовать доменный сокет Unix, потому что:
- немного выгодно использовать доменные сокеты Unix, поскольку они не нуждаются втрехсторонние рукопожатия
- и они немного быстрее из-за этого