Dieser Beitrag wurde ursprünglich als Artikel im SDN Magazine am13. Oktober2017 veröffentlicht. Im vergangenen Jahr habe ich mehrere Kunden auf ihrem Weg zu Containerized Delivery auf dem Microsoft-Stack unterstützt. In dieser Blogserie möchte ich acht Praktiken vorstellen, die ich beim Einsatz von Docker für die Containerized Delivery auf dem Microsoft-Stack gelernt habe, sowohl in einer Greenfield- als auch in einer Brownfield-Situation. Im dritten Blogpost dieser Serie möchte ich darüber sprechen, wie Sie Ihre Windows-Container auf dem neuesten Stand halten.
PRAXIS 3: Halten Sie Ihre Windows-Container auf dem neuesten Stand
Wenn Sie mit Windows-Containern arbeiten oder anfangen, mit ihnen zu arbeiten, fragen Sie sich vielleicht, wie Sie eine Update-Strategie für Windows-Updates implementieren können. Da Container zustandslos und unveränderlich sein sollen, können Sie Windows Update nicht innerhalb Ihres Containers ausführen. Was ist also die Lösung? Im Gegensatz zu Linux-Container-Images, bei denen man ein Container-Image von Grund auf neu erstellen kann, sollte jedes Windows-Container-Image, das Sie erstellen, auf einem der Basis-Images (derzeit nanoserver oder windowsservercore ) basieren, die von Microsoft erstellt wurden. Ähnlich wie bei Windows Updates werden diese Basis-Images von Microsoft regelmäßig aktualisiert, um die neuesten Sicherheits- und Fehlerbehebungen bereitzustellen. Dies ist einer der Gründe, warum Sie immer eines der Basis-Images von Microsoft verwenden sollten, anstatt Ihr eigenes zu erstellen. Als Teil der Arbeitsweise der containerisierten Bereitstellung müssen Sie einen Prozess einrichten, der sicherstellt, dass Sie Ihre Image-Referenzen regelmäßig auf die neuesten Windows-Basis-Images aktualisieren.
Ich empfehle meinen Kunden, den Befehl docker pull zu verwenden, um jedes Mal, wenn sie ein Image erstellen müssen, das direkt davon abhängig ist, automatisch die neuesten Microsoft-Basis-Images zu beziehen. Dadurch wird sichergestellt, dass Sie diese Container-Images immer mit den neuesten Betriebssystem-Basis-Images und einschließlich aller Sicherheits- und Bugfixes erstellen. Für alle anderen Container-Images, die von diesen "internen Basis-Images" abhängen, müssen Sie einen Prozess einrichten, der sicherstellt, dass sie immer eines der neuesten internen Basis-Images verwenden. Wenn ich diesen Ansatz bespreche, bekomme ich meistens die Frage gestellt: "Wir müssen also jedes Mal für jedes Update diese 10 Gigabyte an Basis-Image herunterladen?" Glücklicherweise ist dies nicht der Fall. Wenn Sie den Befehl docker inspect für die Basis-Images ausführen, werden Sie sehen, dass diese aus zwei Schichten bestehen: einer großen Basisschicht, die über einen längeren Zeitraum verwendet wird, und einer kleineren Update-Schicht, die kleine Patches enthält und von Microsoft ständig aktualisiert wird. Die Aktualisierung auf eine neuere Version des Windows-Basis-Images ist also nicht schmerzhaft, da nur die neueste Update-Schicht von Docker Hub abgerufen wird.
Mehr aus dieser Serie
- Übung 1 - Kleine wiederverwendbare Bildebenen
- Praxis 2 - Mehrstufige Builds
- Praxis 3 - Halten Sie Windows-Container auf dem neuesten Stand
- Praxis 4 - Gruppenverwaltete Servicekonten
- Praxis 5 - Sichere Lieferung in Containern
- Übung 6 - Der Umgang mit Geheimnissen
- Praxis 7 - Explizites Abhängigkeitsmanagement
- Praxis 8 - Umwelt als Code und Pipeline als individuelle Pipeline
Verfasst von
Cornell Knulst
Cornell works for Xpirit, Hilversum, The Netherlands, as a trainer/architect. He is specialized in the domain of Application Lifecycle Management and Continuous Delivery, with a special focus on Microsoft-based technologies.
Unsere Ideen
Weitere Blogs
Contact



