Wie sieht der richtige Entwicklungsworkflow für Code aus, der in einem Docker-Container ausgeführt wird?Docker-Entwicklungsworkflow
Solomon Hykes said dass der "offizielle" Arbeitsablauf das Erstellen und Ausführen eines neuen Docker-Images für jedes Git-Commit beinhaltet. Das macht Sinn, aber was ist, wenn ich eine Änderung testen möchte, bevor ich sie an das Git Repo verpfände?
Ich denke an zwei Möglichkeiten, es zu tun:
auf einem lokalen Entwicklungsserver den Code ausführen (zum Beispiel des Django-Entwicklungsserver). Bearbeiten Sie eine Datei. Test auf dem Dev-Server; Mach ein Git commit; Erstellen Sie das Docker-Image mit dem neuen Code neu. Testen Sie erneut den lokalen Docker-Container.
Führen Sie keinen lokalen Dev-Server aus. Erstellen und erstellen Sie stattdessen jedes Mal ein neues Docker-Image, wenn Sie eine Datei bearbeiten, und testen Sie dann die Änderung am lokalen Docker-Container.
Beide Ansätze sind ziemlich ineffizient. Gibt es einen besseren Weg?
Danke! '-v' sieht gut aus. Aber was passiert, nachdem eine Änderung in '/ home/joe/tmp' bereit ist, begangen zu werden? Gibt es eine elegante Möglichkeit, den Code in das Docker-Image zu kopieren, damit ich ihn neu erstellen und bereitstellen kann? –
Dann begehen Sie es und erstellen Sie ein Image neu. Sie sollten auch Jenkins verwenden, um diese Bilder für Sie zu erstellen – Thomasleveil
Aber wenn der Code auf meinem lokalen Dev-Computer lebt, wie "ich" es "commit", so dass es in das Docker-Image aufgenommen wird? –