Wie wird die Verknüpfung zwischen Andockcontainern eingerichtet, sodass beim Neustart kein Fehler auftritt?

Habe ich paar dockers Container läuft wie

  • Nginx
  • Web-app-1
  • Web app 2
  • PostgreSQL

Da Nginx müssen, verbindet web-application-server in die web-app 1 und 2, und web-apps need to talk to postgresql, so habe ich verbindungen wie diese

  • Nginx --- link ---> Web-app-1
  • Nginx --- link ---> Web-app-2
  • Web-app-1 --- link ---> PostgreSQL
  • Web-app-2 --- link ---> PostgreSQL

Das funktioniert ziemlich gut am Anfang, jedoch, wenn ich Sie entwickeln neue version der web-app-1 und web-app 2, die ich brauche, um Sie zu ersetzen. Was ich Tue, ist, zu entfernen web app-Containern, Einrichtung neuer Behälter und starten Sie Sie.

Für web-app-Container, die Ihre IP-Adresse bei der ersten würde etwas wie

  • 172.17.0.2
  • 172.17.0.3

Und nachdem ich diese zu ersetzen, haben Sie eine neue IP-Adressen jetzt

  • 172.17.0.5
  • 172.17.0.6

In diesem moment, diejenigen ausgesetzt Umgebungsvariablen in der Nginx-container sind immer noch spitz auf die alten IP-Adressen. Hier kommt das problem, gewusst wie: ersetzen ein container, ohne zu brechen Verknüpfung zu anderen Containern? Das gleiche Problem wird auch passieren, PostgreSQL, wenn ich aktualisieren möchten, auf die PostgreSQL-image-version, die ich sicherlich brauchen, um es zu entfernen, und führen Sie das neue, aber dann muss ich neu erstellen die gesamte container-graph ist dies nicht eine gute Idee für ein real life server-Betrieb.

InformationsquelleAutor der Frage Fang-Pen Lin | 2014-06-16

Schreibe einen Kommentar