Menggunakan localhost di wadah buruh pelabuhan tidak valid karena localhost berarti wadah wadahnya sendiri, jadi jika Anda menjalankan redis-cli dari dalam wadah web, redis-cli mencoba menemukan redis di wadah web alih-alih wadah redis.
Anda perlu menentukan nama layanan redis - buruh pelabuhan (jaringan docker-compose lebih spesifik) akan menyelesaikan untuk Anda nama layanan ke IP wadah redis sehingga Anda harus menggunakan:
redis-cli -h redis ping
keluaran yang diharapkan adalah:
PONG
Sunting:
Jawaban itu hanya akan berfungsi jika kedua layanan menggunakan mode jaringan yang sama sehingga ada 2 cara:
- Tambahkan network_mode:host ke layanan web dan kemudian "localhost" untuk redis akan baik-baik saja
- Hapus network_mode:host dari redis dan domain "redis" akan baik-baik saja