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

Forbindelse af en Redis container med en anden container (Docker)

Det er nemt at gøre en Docker-hostet tjeneste kun tilgængelig for andre containere på den samme vært. Hvis du:

  1. Indstil serveren til at binde til eller lytte til 0.0.0.0 eller ::0 (alle adresser);
  2. Opret et ikke-standard Docker-netværk (Docker Compose vil gøre dette automatisk);
  3. Start servercontaineren og eventuelle tilknyttede klientcontainere på det Docker-netværk (Docker Compose vil gøre dette som standard); og
  4. Gør det ikke sæt en docker run -p eller Docker Compose ports: mulighed

så kan klientbeholderne nå serverbeholderen ved at bruge dens beholdernavn som værtsnavn, men ikke-Docker-processer på værten og andre værter kan ikke nå serveren.

Hvis din vært har flere netværksgrænseflader, og binding til en af ​​dem ville gøre en tjeneste "privat", så kan du gøre det samme med docker run -p . Hvis din vært har den offentlige IP-adresse 10.20.30.40/16 og også den private IP-adresse 192.168.144.128/24, så docker run -p 192.168.144.128:6379:6379 vil gøre det tilgængeligt for det private netværk (og andre Docker-containere som ovenfor), men ikke det offentlige netværk. (Selve serveren inde i containeren skal stadig bindes til 0.0.0.0.)

Hvis du ellers har brug for, at serveren skal være synlig uden for værten, men kun for nogle IP-adresser, tror jeg, du er nede på iptables magi, der ikke er hjemmehørende i Docker.




  1. Upserting i Mongo DB ved hjælp af officiel C#-driver

  2. Hvordan kører jeg Redis på Windows 32 bit?

  3. Mongorestore, fra meteorproduktionsserver til lokal

  4. Opretter forbindelse til MongoDB over SSL med Node.js