To wszystko o sieci Docker. Szybkie rozwiązanie - użyj host
tryb sieciowy dla obu kontenerów. Wadą jest niska izolacja, ale sprawisz, że będzie działać szybko:
docker run -d --network=host redis ...
docker run --network=host python-redis-py ...
Następnie połączyć się z python
do redis
po prostu użyj localhost
jako nazwę hosta.
Lepszym rozwiązaniem jest użycie zdefiniowanej przez użytkownika sieci dokera
# create network
docker network create foo
docker run -d --network=foo --name my-db redis ...
docker run --network=foo python-redis-py ...
Pamiętaj, że w tym przypadku nie możesz użyj localhost
ale zamiast tego użyj my-db
jako nazwę hosta. Dlatego użyłem --name my-db
parametr podczas uruchamiania pierwszego kontenera. W zdefiniowanych przez użytkownika sieciach mostowych kontenery docierają do siebie po nazwach.