Wie links-und scaling-arbeiten zusammen im Andockfenster verfassen?
Hier ist mein Verständnis von docker compose:
- Können Sie die "scale" - ein service, führen Sie es in mehrere Container auf einmal.
- Wenn Sie einen link-service A service B service A hat Zugriff auf ein container-Dienst B.
Ist mein Verständnis korrekt, und wenn ja, wo kommt ein link verbinden, wenn es mehrere Container, die den Dienst ausführt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zunächst einmal möchte ich klarstellen, dass standardmäßig mit oder ohne Verknüpfung ein container mit anderen, die alle container hat einen Einblick in andere Container läuft in die gleiche host - (mithilfe der container-IP). Sie können dieses Verhalten ändern, mit der
icc=true
fahne in der docker-daemon.In Bezug auf die links mit docker-verfassen, diese werden generiert, wenn die container mit den links erstellt werden. Sehen wir es uns mit einem Beispiel. Über dieses Andockfenster-Komponieren.yml
Nach dem ausführen
docker-compose up -d
dieweb_1
container ist verknüpft mit dem container mitredis_1
:Nun wollen wir die Skala der
redis
service mitdocker-compose scale redis=2
. Nach dem ausführen es (und erstellen Sie einen neuen containerredis_2
), die links inweb_1
bleibt unverändert.Ist es erforderlich, zu stoppen, zu entfernen und führen
web_1
zu sehen, wie diese Verknüpfungen erstellt:Und die
/etc/hosts
vonweb_1
container:So zu generieren, die neue links, Sie ist nötig, um zu verhindern, entfernen, und starten Sie erneut den container.
--link
option (z.B.: mit den Einträgen in /etc/hosts, globalen Umgebungsvariablen,...) würden Sie brauchen, um neu service container./etc/hosts
Beispielweb_1
,web_2
eher alsweb
? Es gibt kein load-balancing ?/etc/hosts
Einträge. Sie sind erstellt mit einem internen DNS-Verweis. github.com/docker/compose/issues/2172#issuecomment-256317617