sql >> Databáze >  >> NoSQL >> Redis

Propojení kontejneru Redis s jiným kontejnerem (Docker)

Je snadné zpřístupnit službu hostovanou Dockerem pouze pro jiné kontejnery na stejném hostiteli. Pokud:

  1. Nastavte server tak, aby se vázal nebo naslouchal na 0.0.0.0 nebo ::0 (všechny adresy);
  2. Vytvořte jinou než výchozí síť Docker (Docker Compose to provede automaticky);
  3. Spusťte serverový kontejner a všechny přidružené klientské kontejnery v dané síti Docker (ve výchozím nastavení to provede Docker Compose); a
  4. Ne ne nastavte docker run -p nebo Docker Compose ports: možnost

pak se klientské kontejnery mohou dostat ke kontejneru serveru pomocí jeho názvu kontejneru jako názvu hostitele, ale procesy mimo Docker na hostiteli a dalších hostitelích se k serveru nedostanou.

Pokud má váš hostitel více síťových rozhraní a navázání na jedno z nich způsobí, že služba bude „soukromá“, můžete totéž udělat pomocí docker run -p . Pokud má váš hostitel veřejnou IP adresu 10.20.30.40/16 a také soukromou IP adresu 192.168.144.128/24, pak docker run -p 192.168.144.128:6379:6379 zpřístupní je privátní síti (a dalším kontejnerům Docker, jak je uvedeno výše), ale ne veřejné síti. (Samotný server uvnitř kontejneru se stále potřebuje svázat s 0.0.0.0.)

Pokud jinak potřebujete, aby byl server viditelný mimo hostitele, ale pouze pro některé IP adresy, myslím, že jste na iptables magie, která není původní pro Docker.




  1. Jak nasadit resque pracovníky do výroby?

  2. Program scrapy-redis se automaticky neuzavírá

  3. nodejs, redis. zkontrolujte, zda klíče existují, a pokud ne, vytvořte nové

  4. Co je nového v MongoDB 4.2