DATABASE_URL
. Anda mengacu pada 127.0.0.1
, yang merupakan adaptor loopback (selengkapnya di sini). Ini berarti "terhubung dengan diri saya sendiri".
Saat menjalankan kedua aplikasi (tanpa menggunakan Docker) pada host yang sama, keduanya dapat dialamatkan pada adaptor yang sama (juga dikenal sebagai localhost
).
Saat menjalankan kedua aplikasi dalam wadah, keduanya tidak berada di localhost seperti sebelumnya. Sebagai gantinya, Anda perlu mengarahkan web
wadah ke db
alamat IP container di docker0
adaptor - yang docker-compose
set untuk Anda.
Ubah:
127.0.0.1
ke CONTAINER_NAME
(mis. db
)
Contoh:
DATABASE_URL: postgres://username:[email protected]:5432/mydatabase
untuk
DATABASE_URL: postgres://username:[email protected]:5432/mydatabase
Ini berfungsi berkat tautan Docker:web
wadah memiliki file (/etc/hosts
) dengan db
entri menunjuk ke IP yang db
wadah aktif. Ini adalah tempat pertama yang akan dilihat oleh sistem (dalam hal ini, wadah) ketika mencoba menyelesaikan nama host.