Ich versuche, eine kleine Rails-App in einem Andock-Container auszuführen. Ich bin nah dran, aber ich kämpfe mit meiner Dockerfile.Hinzufügen eines Projektordners mit Ausnahme von Dockerfile
Ich habe den folgenden Befehl zu meiner Dockerfile hinzugefügt, um rekursiv alle Dateien in meinem Projektordner hinzuzufügen.
ADD .
Danach laufe ich
RUN bundle install --deployment
Da jedoch mein ADD
Befehl auch die Dockerfile fügt hinzu, es bedeutet, dass mein Bild-Cache jedes Mal bricht ich meine Dockerfile bearbeiten zwingt mich zu rebundle.
Nach https://docs.docker.com/reference/builder/#the-dockerignore-file, kann ich eine .dockerignore
Datei verwenden Dockerfile zu ignorieren, aber dies bewirkt, dass der docker build
Befehl mit
2014/09/17 22:12:46 Dockerfile was excluded by .dockerignore pattern 'Dockerfile'
zum Scheitern verurteilt Wie kann ich mein Projekt zu meinem Bild leicht hinzufügen, aber ausschließen Dockerfile, also breche ich den docker image cache nicht?
Das eigentliche Problem hier ist nicht das Vorhandensein der Datei, aber die Entwertung der Docker Bild-Cache verursacht Bündel installiert erneut auszuführen. Das versuche ich zu vermeiden, um die Dinge zu beschleunigen. –
Ja, ich verstehe Ihren Standpunkt (ich habe das gleiche Problem in der Tat). Aber es scheint, dass es mit der '.dockerignore' Datei noch nicht möglich ist. Einer der Betreuer erklärt warum in der Ausgabe. Außerdem ist der Fehler, den Sie erhalten, [hier in der Codequelle] definiert (https://github.com/docker/docker/blob/e49c70109228d657790190007c8f9d7c55a25be2/api/client/commands.go#L136-L142). Im Moment fürchte ich, dass es nicht möglich ist. – Kuhess
Ich habe gerade die Antwort geändert, um auf das Cache-Räumungsproblem konzentriert zu sein. – Kuhess