Versuchen Sie Dockerfeed . Es verwendet die Docker-Funktion, um einen Kontext über stdin zu erstellen. Ich habe das Skript geschrieben, um genau Ihr Problem anzusprechen, mit dem ich selbst konfrontiert war.
Um eine Docker-Datei durch eine andere zu ersetzen, gehen Sie folgendermaßen vor:
dockerfeed -d Dockerfile.app . | docker build -t deepak/ruby -
Und voilà. Dockerfeed macht dasselbe wie docker build
. Es packt die Quelle mit seiner Docker-Datei, aber Sie können die alte Docker-Datei gegen die gewünschte austauschen. Dabei werden keine Dateien erstellt, keine Quelle geändert. Das generierte Teerarchiv wird an Docker weitergeleitet, der es wiederum an den Docker-Daemon weiterleitet.
Update:
Dies war früher eine gültige Antwort, als kein -f
Schalter verfügbar war. Mit Docker Version 1.5 wurde diese Option eingeführt. Jetzt können Sie eine andere Docker-Datei wie diese erstellen:
docker build -f other-Dockerfile .