In der Regel werden auf einem Server automatische Updates sicherheitsrelevanter Patches konfiguriert. Wenn ich MySQL 5.5 ausführe und ein neuer Sicherheitspatch veröffentlicht wird, wendet Ubuntu Server das Upgrade an und startet MySQL neu, um mich automatisch zu schützen. Natürlich kann dies deaktiviert werden, aber es ist hilfreich für diejenigen von uns, die ein bisschen faul sind;)
Gibt es ein solches Konzept in einem Docker-Container? Wenn ich MySQL in einem Docker-Container ausführe, muss ich den Container ständig stoppen, eine Shell darin öffnen und dann MySQL aktualisieren und aktualisieren?
Antworten:
Ich bin mit der akzeptierten Antwort nicht einverstanden. Zunächst sollten Sie Ihre Container unter Berücksichtigung der Trennung des Zustands entwerfen (im Fall von MySQL bedeutet dies, dass zumindest
/var/lib/mysql
ein eigenes Volume vorhanden ist ). Zweitens sollten Sie eine Strategie für Upgrades festlegen. Stand der Technik wäre es, versionierte Images für jeden Satz von apt-Paket-Upgrades zu erstellen und diese testen zu lassen, bevor das Datenvolumen vom laufenden Container auf einen neuen umgestellt wird. Dies kann entweder eine Ausfallzeit oder gar keine Ausfallzeit beinhalten, wenn Sie so etwas wie Hipache verwenden .Diese Einrichtung ist zwar teurer als die anfängliche Einrichtung, wird jedoch von Unternehmen mit einer großen Anzahl von Containern verwendet und ist im Laufe der Zeit billiger zu warten.
Darüber hinaus können Paket-Upgrades Ihre laufenden Container beschädigen. Daher ist es keine bewährte Methode, sie auf laufende Container anzuwenden, da keine veraltete Software ausgeführt werden soll.
quelle
TL; DR : Wenn Sie es nicht in sich selbst bauen, wird es nicht passieren.
Der effektive Weg, dies zu tun, besteht darin, einfach ein benutzerdefiniertes Startskript für Ihren Container zu schreiben, das
CMD
in Ihrem angegeben istDockerfile
. Führenapt-get update && apt-get upgrade -qqy
Sie in dieser Datei ein aus, bevor Sie das starten, was Sie gerade ausführen .Sie haben dann einige Möglichkeiten, um sicherzustellen, dass Aktualisierungen in den Container gelangen:
Es ist nicht die einfachste Sache zu optimieren und zu automatisieren, aber es ist möglich.
quelle