docker erstellt mit vorherigen Build-Caches aus der Registrierung

8

Ich konfiguriere einen Bambus-Bauplan, um Docker-Bilder zu erstellen. AWS ECS als Registrierung verwenden Build Plan ist so etwas;

  • ziehen Sie das neueste Tag

    %Vor%
  • Bild mit dem neuesten Tag erstellen

    %Vor%
  • Markieren Sie das Bild (für ECS erforderlich)

    %Vor%
  • Verschiebe das Bild in die Registry

    %Vor%

Da Build-Tasks jedes Mal auf verschiedenen und neuen Build-Engines / Servern ausgeführt werden, hat es keinen lokalen Cache.

Wenn ich an Dockerfile nichts ändere und es (auf einem anderen Server) erneut ausführe, würde ich erwarten, dass docker lokalen Cache verwendet (kommt von docker pull) und führt nicht jede Zeile erneut aus. Aber es versucht jedes Mal ein Bild aufzubauen. Ich habe auch erwartet, dass, wenn ich etwas am Ende der Datei ändere, es Cache verwenden und nur die letzte Zeile ausführen wird, aber ich bin mir nicht sicher.

Weiß ich, dass etwas falsch ist oder gibt es Meinungen bezüglich der Vorgehensweise?

    
code_ada 07.12.2017, 14:30
quelle

1 Antwort

4

denken Sie daran, squid proxy zu verwenden ?

edit: Wenn Sie nicht auf die offizielle Website oben gehen wollen, hier ist eine schnelle Einrichtung auf Squid-Proxy (Debian-basiert)

%Vor%

und dann die Tintenfischkonfiguration ändern, um durch Öffnen einen größeren Raum zu schaffen

%Vor%

und ersetzen Sie #cache_dir ufs /var/spool/squid durch cache_dir ufs /var/spool/ squid 10000 16 256 und da gehen Sie, ein 10.000 MB Cache-Speicherplatz

und zeigen Sie dann die Proxy-Adresse in dockerfile ,, Hier ist ein Beispiel für dockerfile mit squid proxy

yum und apt-get basierte Distribution:

  

apt-get basierte Distribution

%Vor%
  

yum basierte Distribution

%Vor%

lässt Sie sagen, Sie installieren Squid-Proxy in Ihrer aws-Registrierung, nur der erste Build würde die Daten aus dem Internet abrufen, der Rest (ein anderer Server) Build sollte von der Squid-Proxy zwischengespeichert werden. .

diese Technik basierend auf Buch docker in der Praxis Technik 57 mit Tittle Einrichten eines Paket-Cache für einen schnelleren Build

Ich glaube nicht, dass es im Docker eine Cache-Funktion gibt, die keine Software von Drittanbietern enthält. Vielleicht gibt es das und ich weiß es nicht. .ich bin mir nicht sicher,, korrigiere mich einfach, wenn ich falsch liege. .

    
Fendi D 19.12.2017 06:13
quelle