Ich verfolge diese beiden Tutorials ein wenig über Docker Vernetzung zu verstehen:Docker können noch offene Ports mit und ohne --link Flag gesetzt
- https://docs.docker.com/engine/examples/running_redis_service/
- https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks
Im ersten Lernprogramm wird angegeben, dass der Container keine Ports freigibt, indem keine -p- oder -P-Flags verwendet werden.
$ docker run --name redis-server -d <your username>/redis
Und wenn Sie einen anderen Container ausgeführt wird, verwendet es die --link-Flag auf "redis" Container:
$ docker run --name redis-client --link redis:db -i -t ubuntu:14.04 /bin/bash
Und auf diese Weise ich von redis-Client Container redis-Server verbinden kann Container, weil sie verknüpft sind. Aber während ich mit anderen Konfigurationen experimentiere, führe ich einen anderen Container, nennen wir es redis-client-2 - gleich nachdem ich gestoppt und entfernt redis-client Container - das nicht die --link-Flag verwendet:
$ docker run --name redis-client-2 -i -t ubuntu:14.04 /bin/bash
Und ich merkte, dass auch ohne die --link-Flag I auf redis-Server verbinden kann des Containers redis Server von redis-client-2
Meine Frage ist, bin ich Missverständnis der Konzept von --link und offengelegten Ports auf Docker? Warum kann ich immer noch eine Verbindung zu Server Container mit oder ohne die --link-Flag herstellen?
Dank im Voraus