sql >> Database >  >> NoSQL >> Redis

een python docker-container krijgen om te communiceren met een redis docker-container

Dat is alles over Docker-netwerken. Snelle oplossing - gebruik host netwerkmodus voor beide containers. Nadeel is lage isolatie, maar je krijgt het snel werkend:

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

Om vervolgens verbinding te maken vanaf python naar redis gebruik gewoon localhost als hostnaam.

Een betere oplossing is om het door de gebruiker gedefinieerde brugnetwerk van Docker te gebruiken

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

Merk op dat u in dit geval niet kunt gebruik localhost maar gebruik in plaats daarvan my-db als hostnaam. Daarom heb ik --name my-db . gebruikt parameter bij het starten van de eerste container. In door de gebruiker gedefinieerde bridge-netwerken bereiken containers elkaar bij hun naam.



  1. Forceer mongodb om strikte JSON uit te voeren

  2. Mongodb-verbindingsfout in docker-container

  3. Mongoose-update zonder terugbellen

  4. MongoDB en Robomongo:kan geen verbinding maken (authenticatie)