C'est tout sur la mise en réseau Docker. Solution rapide - utilisez host
mode réseau pour les deux conteneurs. L'inconvénient est une faible isolation, mais vous le ferez fonctionner rapidement :
docker run -d --network=host redis ...
docker run --network=host python-redis-py ...
Ensuite pour se connecter depuis python
vers redis
utilisez simplement localhost
comme nom d'hôte.
Une meilleure solution consiste à utiliser le réseau de pont défini par l'utilisateur docker
# create network
docker network create foo
docker run -d --network=foo --name my-db redis ...
docker run --network=foo python-redis-py ...
Notez que dans ce cas, vous ne pouvez pas utilisez localhost
mais utilisez plutôt my-db
comme nom d'hôte. C'est pourquoi j'ai utilisé --name my-db
paramètre lors du démarrage du premier conteneur. Dans les réseaux de ponts définis par l'utilisateur, les conteneurs se touchent par leurs noms.