I flask-appen har jag en funktion som försöker skapa en redis-klient
db = redis.Redis(host='localhost', port=6379, decode_responses=True)
När din kolvprocess körs i en behållare, localhost
hänvisar till själva behållarens nätverksgränssnitt. Det löser sig inte till nätverksgränssnittet för din dockningsvärd.
Så du måste byta ut localhost
med IP-adressen för behållaren som körs redis.
I sammanhanget med en docker-compose.yml-fil är detta enkelt eftersom docker-compose kommer att få tjänstnamn att lösas till rätt container-IP-adress:
version: "3"
services:
my_flask_service:
image: ...
my_redis_service:
image: ...
använd sedan:
i din kolv-appdb = redis.Redis(host='my_redis_service', port=6379, decode_responses=True)