Het belangrijkste doel van Docker Compose is om een set Docker-containers te laten draaien, die vervolgens als onafhankelijke entiteiten zullen functioneren. Standaard hebben alle containers een virtuele netwerkverbinding met alle andere, hoewel u dat desgewenst kunt wijzigen; je krijgt die functie, omdat je geen aangepaste configuratie hebt opgegeven.
Elk van de containers krijgt een virtueel IP-adres binnen het virtuele netwerk dat is ingesteld door Docker. Omdat deze dynamisch zijn, maakt Docker Compose het u gemakkelijker door interne DNS-vermeldingen te maken die overeenkomen met elke service. Je hebt dus twee containers, die kunnen worden geadresseerd als app
en db
respectievelijk, van zichzelf of van de ander. Als je ping hebt geïnstalleerd, kun je deze namen ook pingen via docker-compose exec
, of via een handmatig gemaakte shell.
Dus, zoals we in de opmerkingen hebben ontdekt, kun je verbinding maken via de app
naar jdbc:postgresql://db:5432/media
, en het zou moeten werken.