Het gebruik van localhost in docker-container is ongeldig omdat localhost voor container zijn eigen container betekent, dus als u redis-cli uitvoert vanuit de webcontainer, probeert redis-cli redis in webcontainer te vinden in plaats van redis-container.
U moet de naam van de redis-service specificeren - docker (het netwerk van docker-compose om specifieker te zijn) zal voor uw servicenaam de container-IP van redis omzetten, dus u moet het volgende gebruiken:
redis-cli -h redis ping
verwachte output is:
PONG
Bewerken:
Dat antwoord werkt alleen als beide services dezelfde netwerkmodus gebruiken, dus er zijn 2 manieren:
- Voeg network_mode:host toe aan webservice en dan is "localhost" voor redis in orde
- Verwijder network_mode:host van redis en dan is het "redis"-domein in orde