2016-07-12 13 views
0

Ich wage den Einsatz von Docker und versuche, das Produkt zu verstehen.Wie genau funktioniert Docker? (Theorie)

Während ich alles liebe, was es verspricht, ist es eine große Veränderung, Dinge manuell zu tun.

Im Moment verstehe ich, wie man einen Container baut, Ihren Code anfügt, festschreibt und ihn zu Ihrem Repo schiebt.

Aber was ich mich wirklich wundere ist, wie aktualisiere ich meinen Code nach der Bereitstellung, zum Beispiel habe ich ein paar kleinere Fehlerbehebungen, aber keine Änderung der Abhängigkeiten, aber ich führe auch eine Datenbank in den gleichen Container.

Container:

Knoten & NPM

Nginx

Mysql

php

Im Augenblick ist die einzige Art, wie ich Sie verstehen können tun es thje Behälter erneut schließen ziehen der neue Container und ausführen, aber ich denke, Sie werden Datenbankdaten verlieren.

Ich habe in https://docs.docker.com/engine/tutorials/dockervolumes/ gelesen und denke vielleicht der Container mounts eine Datendatei, die zwischen den Containern besteht.

Was ich versuche zu tun ist eine Web-App/Website mit dem oben genannten Container-Layout und nur Code mit den neuesten Bugfixes/Funktionen zu ändern.

Antwort

1

Sie sind ziemlich richtig. Docker Bilder sind etwas, das Sie mit jedem Update neu aufbauen und verwerfen sollten - vermeiden Sie commit wo immer möglich (außerhalb Ihrer Build-Skripte sowieso).

Der persistente Zustand sollte über Datencontainer verwaltet werden, die Sie dann mit Ihrem Image mounten. Somit sind Ihre "Daten" von dieser spezifischen Version und Instanz der Anwendung entkoppelt.

+0

Können Sie mich auf die Richtung der Erstellung von Daten nur Container zeigen. –

+0

'docker create' https://docs.docker.com/engine/reference/commandline/create/ – Sobrique

+0

danke das beantwortet meine Frage, habe einen schönen Tag! –