Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Łączenie kontenera Redis z innym kontenerem (Docker)

Łatwo jest sprawić, by usługa hostowana przez Docker była dostępna tylko dla innych kontenerów na tym samym hoście. Jeśli:

  1. Ustaw serwer do łączenia się lub nasłuchiwania na 0.0.0.0 lub ::0 (wszystkie adresy);
  2. Utwórz inną niż domyślną sieć Docker (Docker Compose zrobi to automatycznie);
  3. Uruchom kontener serwera i wszystkie powiązane kontenery klienta w tej sieci Docker (Docker Compose zrobi to domyślnie); i
  4. Nie nie ustaw docker run -p lub Docker Compose ports: opcja

wtedy kontenery klienta mogą dotrzeć do kontenera serwera, używając jego nazwy kontenera jako nazwy hosta, ale procesy inne niż Docker na hoście i innych hostach nie mogą dotrzeć do serwera.

Jeśli twój host ma wiele interfejsów sieciowych i powiązanie z jednym z nich uczyniłoby usługę „prywatną”, możesz zrobić to samo za pomocą docker run -p . Jeśli Twój host ma publiczny adres IP 10.20.30.40/16, a także prywatny adres IP 192.168.144.128/24, to docker run -p 192.168.144.128:6379:6379 udostępni ją w sieci prywatnej (i innych kontenerach Dockera jak powyżej), ale nie w sieci publicznej. (Sam serwer wewnątrz kontenera nadal musi być powiązany z 0.0.0.0.)

Jeśli w inny sposób chcesz, aby serwer był widoczny poza hostem, ale tylko dla niektórych adresów IP, myślę, że sprowadzasz się do iptables magia, która nie jest natywna dla Dockera.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak skalować serwer Node.js WebSocket Redis?

  2. Aplikacja Spring data rest nie pobiera danych z bazy danych po wdrożeniu buforowania redis

  3. Jak bezpieczne jest przechowywanie sesji w Redis?

  4. Jak uruchomić Redis w 32-bitowym systemie Windows?

  5. Odinstaluj Redis na Mac OSX. Starsza wersja działa po zainstalowaniu aktualizacji