Ich möchte einen Elasticsearch Container in Docker starten. Standardmäßig sehe ich fast überall so etwas wie:Kartenport von Elasticsearch in Docker
docker run -d -p 9200:9200 docker.elastic.co/elasticsearch/elasticsearch:5.5.1
Jetzt ist meine Frage: Warum kartieren wir den Port auf unserem Host-Netzwerk? Ich verstehe Port-Mapping, aber ich sehe den großen Vorteil nicht.
Meiner Meinung nach würde ich immer etwas tun:
$ docker network create logging
20aa4c7bf2d8289d8cbd485c3e384f9371eed87204625998687c61e4bad27f14
$ docker run -d --name es --net logging docker.elastic.co/elasticsearch/elasticsearch:5.5.1
Und der ES verbindet, indem Sie es Namen (es in diesem Fall) sind und Behälter im gleichen Netzwerk bereitstellen. Ich würde meinen, dass mein ES in seinem privaten Dockernetzwerk sicherer ist.
Ich sehe, es gibt einen Vorteil für Port-Mapping, wenn Ihre Container, die sich mit elasticsearch verbinden müssen, nicht im selben Netzwerk sind. Aber gibt es noch andere Vorteile oder warum wird dies immer mit Port-Mapping angezeigt?