Fixate version alpine linux apk paket (in container)

569
WHITECOLOR

Die Version kann beispielsweise bei der Installation von apk auf alpine angegeben werden apk add ffmpeg=3.0.7-r0. In Containern ist dies ein typisches Szenario, weil Sie eine unveränderliche Sache haben möchten, also eine Docker-Datei hinzufügen:

RUN apk add --no-cache ffmpeg=3.0.4-r1

Das Problem ist, dass Sie irgendwann später den Fehler bekommen können (werden):

ERROR: unsatisfiable constraints: ffmpeg-3-0.7.0-r0: breaks: world[ffmpeg=3.0.4-r1] 

Sie müssen also die Version ändern und das Paket erneut installieren. Ich habe gelesen, dass es nicht sicher ist, Versionseinschränkungen festzulegen, da die Version aus dem Repo entfernt werden kann, der Ratschlag, Version nicht anzugeben und "lassen Sie Apk damit umgehen" - für mich ist das wirklich seltsam, vielleicht habe ich nichts bekommen . Wenn Sie die Version entfernen, werden Sie tatsächlich nicht unveränderlich und Dinge, die auf verschiedenen Computern unterschiedlich sein können, erhalten eventuell Bugs.

Was ist die Strategie, um eine unveränderliche Version des Containers mit solchen installierten Paketen zu erhalten?

2
aus Quelle erstellen Clive Makamara vor 6 Jahren 0

1 Antwort auf die Frage

0
Clive Makamara

Bei der Verwendung von apk ist dies nicht möglich, aber wenn Sie die Programme aus dem Quellcode erstellen, können Sie die spezifische Version definieren. Überprüfen Sie die offiziellen nodejs-Bilder auf Beispiele. Sie bauen von der Quelle aus auf, um spezifische Knotenversionen zu verwalten