2016-05-04 4 views
0

Das Erstellen des Code-Repositorys führt immer zu einem neuen Bild, während das vorhandene Bild ersetzt/aktualisiert werden sollte. Wie kann ich das gleiche Bild nach Änderungen in den Quelldateien wiederherstellen, Ich baue ein Container Bild über Befehl.Erstellen eines Docker-Bilds über das Verfassen von Ergebnissen in ein neues Bild. Warum?

 

    $docker-compose up --build 

die Antwort wie:

 

[email protected]:/var/lib$ docker images 
REPOSITORY  TAG  IMAGE ID   CREATED    SIZE 
nodeapi_www latest  74378f9c5de5  5 seconds ago  684.3 MB 
none   none  d358efc16f16  About an hour ago 684.3 MB 
node   4.4.1  4e2e99ae7d3e  5 weeks ago   643.8 MB 

hier ist das Bild Webapp Bild war, bevor ich die Docker-komponieren bis --build Befehl ausführen. Danach bekomme ich ein Waisenbild hier in der Bildliste.

Antwort

0

Aufgrund der Art der Art, wie Docker funktioniert, wenn Sie Änderungen vornehmen, benötigen Sie ein neues Bild, da Bilder sich nicht wie Container ändern.

Versuchen Sie Folgendes zu tun, wenn Sie Ihren Build erstellen, und sehen Sie, ob das hilft, die älteren Bilder zu entfernen.

$ docker-compose up --build --remove-orphans 

Wenn Sie nicht möchten, dass so viele Bilder haben, schauen Mengen verwendet werden, so dass die Elemente, die in der Lautstärke verändern und Sie brauchen nicht jedes Mal, wenn Sie eine dieser Dateien ändern, um wieder aufzubauen .

Um ein Beispiel dafür zu sehen, schauen Sie sich https://docs.docker.com/compose/django/ an, es ist nicht node.js, aber die Idee ist die gleiche.

+0

Hallo Ken, ich habe versucht es mit '--remove-Waisen' zu laufen, aber ich habe nicht wirklich für mich gearbeitet, ich habe ein anderes Waisenbild bekommen. Allerdings werde ich Volume Sache zu schätzen wissen, da es auch erforderlich war, d. H., (Nicht um alles manuell zu erstellen, sollte es jede Änderung automatisch auswählen) –

+0

Tut mir leid, es hat nicht funktioniert. Viel Glück –

+0

Eigentlich gibt es immer noch keine Lösung dafür, immer wenn ein Build gehalten wird, gibt es immer ein neues Bild in der Liste des Docker-Images. Wir müssen sie manuell entfernen. Aber danke. und jetzt werde ich auf das Konzept der Volumes für einen bestimmten Container eingehen, was wahrscheinlich hilfreich wäre. –

Verwandte Themen