Ich bin ziemlich neu in Docker und Konfigurationsmanagement-Tools.
Zuerst habe ich angefangen, Bash-Skripte zu schreiben, um meine Vagrant-Boxen für meine Entwicklungsmaschinen bereitzustellen, aber jetzt habe ich dafür Chef verwendet, damit ich dieselbe Quelle verwenden kann, um sowohl Entwicklungs- als auch Produktionsumgebungen bereitzustellen und zu versuchen, sie als ähnlich zu erhalten wie möglich.
Seit ich Chef benutze, genieße ich den DRY-Aspekt, dass ich keine Shell-Skriptzeilen von Projekt zu Projekt kopieren und einfügen muss, die Möglichkeit, Computer bereitzustellen, auf denen verschiedene Linux-Distributionen mit einer einzigen konsolidierten Quelle ausgeführt werden, und den Komfort der Verwendung von von der Community bereitgestellten Kochbüchern.
Jetzt, da ich Chef verwendet habe, um meine VMs bereitzustellen, fühlt es sich an, als würde ich einen Schritt zurück machen, wenn ich einer Docker-Datei RUN-Befehle gefolgt von Shell-Befehlen hinzufüge, um das zu erreichen, was durch einfaches Ausführen eines Chef-Rezepts erreicht werden könnte.
Ich habe gegoogelt und nichts gefunden (aber vielleicht habe ich es einfach verpasst), aber es sieht nicht so aus, als gäbe es eine einfache Möglichkeit, mit Chef-Rezepten Docker-Container zu erstellen. Warum ist das so?
Ich verstehe, dass Container unveränderlich sein sollen und Konfigurationsmanagement-Tools häufig verwendet werden, um Maschinen während ihrer gesamten Lebensdauer neu zu konfigurieren. Würden sie nicht dennoch viele Vorteile bieten, wenn sie beim ersten Erstellen des Containers verwendet werden?