In de flask-app heb ik een functie die probeert een redis-client te maken
db = redis.Redis(host='localhost', port=6379, decode_responses=True)
Wanneer uw kolfproces in een container wordt uitgevoerd, localhost
verwijst naar de netwerkinterface van de container zelf. Het wordt niet opgelost naar de netwerkinterface van uw docker-host.
U moet dus localhost
. vervangen met het IP-adres van de container met redis.
In de context van een docker-compose.yml-bestand is dit eenvoudig, aangezien docker-compose de servicenamen naar het juiste IP-adres van de container zal laten omzetten:
version: "3"
services:
my_flask_service:
image: ...
my_redis_service:
image: ...
gebruik dan in je kolf-app:
db = redis.Redis(host='my_redis_service', port=6379, decode_responses=True)