Redis
 sql >> Database >  >> NoSQL >> Redis

ottenere un contenitore docker python per interagire con un contenitore docker redis

Questo è tutto sul networking Docker. Soluzione rapida:usa host modalità di rete per entrambi i contenitori. Lo svantaggio è un basso isolamento, ma lo farai funzionare velocemente:

docker run -d --network=host redis ...
docker run --network=host python-redis-py ...

Quindi per connetterti da python a redis usa semplicemente localhost come nome host.

La soluzione migliore consiste nell'utilizzare la rete bridge definita dall'utente Docker

# create network
docker network create foo
docker run -d --network=foo --name my-db redis ...
docker run    --network=foo python-redis-py ...

Tieni presente che in questo caso non puoi usa localhost ma invece usa my-db come nome host. Ecco perché ho usato --name my-db parametro all'avvio del primo contenitore. Nelle reti bridge definite dall'utente, i container si raggiungono tramite i loro nomi.