2016-03-03 9 views
6

Beim Erstellen eines Docker-Images unterscheidet sich die Image-ID, wenn das Image mit docker-compose build vs docker build erstellt wird. Das env hat einen anderen Hostnamen.Was ist der Unterschied s/w ein Docker-Bild von Docker-Compose-Build-And-Docker-Build generiert generiert?

Was ist noch anders? Warum sind Bilder anders?

+1

Ich glaube, es gibt keine anderen Unterschiede als Containername, die 'docker-compose' automatisch erzeugt, aber Sie können angeben, wenn Sie' docker-build' verwenden. –

+1

Es ist immer noch ein offenes Problem: https://github.com/docker/compose/issues/883 –

Antwort

2

Es gibt keine Unterschiede zwischen dem tatsächlichen Bild, das zwischen docker-compose build und einem "Handbuch" docker build in Bezug auf den Inhalt des Bildes erstellt wird.

Der Unterschied besteht nur in der Benennung/Markierung des Build-Ergebnisses, welches docker-compose automatisch für Sie übernimmt. Ansonsten ist die docker-compose Build nicht anders hinter den Kulissen und einfach ein Wrapper für die normale docker build.

+0

, aber ich sehe einen Unterschied zwischen den generierten Bildern. Als Teil meiner Dockerdatei mache ich eine "npm install" um alle Abhängigkeiten herunterzuladen. Das mit "docker build" erstellte Image hat alle "npm_modules" heruntergeladen, während das mit "docker-compose up" erstellte Image einen leeren Ordner "npm_modules" enthält. – SudheerKovalam

+0

Es muss etwas anderes in ihrer Arbeitsweise geben. In meinem Projekt funktioniert 'docker build.', Aber 'docker-compose build' gibt einen Fehler aus. Der Punkt ist, wenn einer arbeitet, muss der andere nicht funktionieren. – GiriB

+0

@GiriB wäre gut zu wissen, der Fehler :) Aller Wahrscheinlichkeit nach ist etwas mit dir 'docker-compose.yml' in diesem Fall falsch. –

1

Zusätzlich zu den Benennungsunterschieden kann es im resultierenden Bild Unterschiede geben, wenn die Parameter der Builds unterschiedlich sind: der Abschnitt build: der Datei docker-compose.yml und die Befehlszeilenparameter des Befehls docker build. Zum Beispiel können die --build-args unterschiedlich sein.

Verwandte Themen