sql >> Database >  >> NoSQL >> Redis

Een Redis-container verbinden met een andere container (Docker)

Het is eenvoudig om een ​​door Docker gehoste service alleen toegankelijk te maken voor andere containers op dezelfde host. Als u:

  1. Stel de server in om te binden aan of te luisteren op 0.0.0.0 of ::0 (alle adressen);
  2. Maak een niet-standaard Docker-netwerk (Docker Compose doet dit automatisch);
  3. Lanceer de servercontainer en alle bijbehorende clientcontainers op dat Docker-netwerk (Docker Compose doet dit standaard); en
  4. Doe niet stel een docker run -p in of Docker Compose ports: optie

dan kunnen de clientcontainers de servercontainer bereiken met de containernaam als hostnaam, maar niet-Docker-processen op de host en andere hosts kunnen de server niet bereiken.

Als uw host meerdere netwerkinterfaces heeft en binding aan een van die interfaces een service "privé" zou maken, dan kunt u hetzelfde doen met docker run -p . Als uw host een openbaar IP-adres 10.20.30.40/16 heeft en ook een privé IP-adres 192.168.144.128/24, dan docker run -p 192.168.144.128:6379:6379 zal het beschikbaar maken voor het particuliere netwerk (en andere Docker-containers zoals hierboven), maar niet voor het openbare netwerk. (De server zelf, in de container, moet nog binden aan 0.0.0.0.)

Als je de server anders nodig hebt om off-host zichtbaar te zijn, maar alleen voor sommige IP-adressen, denk ik dat je te maken hebt met iptables magie die niet eigen is aan Docker.




  1. mongodb 3.x-stuurprogramma Android-compatibiliteit

  2. Spark op HBase met Spark-shell

  3. Deel sessies tussen php en node

  4. Hoe Elasticsearch gebruiken met MongoDB?