Abbiamo una pipeline di integrazione continua su circleci che fa la seguente:Docker cache immagini hub non sembra funzionare
- Carichi repo/immagine: mytag1 dalla directory cache per essere in grado di usare i livelli nella cache
- costruisce una nuova versione: finestra mobile costruire repoimage -t: mytag2
- Salva il nuova versione nella cartella della cache con finestra mobile Salva
- esegue test
- spinge a finestra mobile hub: finestra mobile spinta repo/immagine: myTa g2
Il problema è con il passaggio 5. Il passaggio di spinta richiede 5 minuti ogni volta. Se ho capito bene, l'hub docker ha lo scopo di memorizzare i livelli in cache, quindi non dobbiamo re-push cose come l'immagine di base e le dipendenze se non vengono aggiornate.
Ho eseguito la build due volte di seguito e vedo un sacco di crossover nell'hash degli strati che vengono spinti. Eppure, piuttosto che "L'immagine esiste già", vedo "Immagine spinta con successo".
Here's l'uscita di costruzione 1 di finestra mobile spinta, e here's build 2
Se diff questi due file si vedrà che solo 2 strati si differenziano per ogni generazione:
< ca44fed88be6: Buffering to Disk
< ca44fed88be6: Image successfully pushed
< 5dbd19bfac8a: Buffering to Disk
< 5dbd19bfac8a: Image successfully pushed
---
> 9136b10cfb72: Buffering to Disk
> 9136b10cfb72: Image successfully pushed
> 0388311b6857: Buffering to Disk
> 0388311b6857: Image successfully pushed
Allora perché è che tutte le immagini devono ripetere ogni volta?
Quale versione di finestra mobile è in esecuzione in CircleCI? Mi chiedo se questo è un bug; cosa succede se si preme la * stessa immagine/tag * più volte? Fondamentalmente, la finestra mobile * dovrebbe * verificare l'esistenza di un livello, consente che si trovi nello stesso repository. Inoltre, stai spingendo all'hub docker? – thaJeztah
Ad esempio; https://github.com/docker/docker/issues/18866 – thaJeztah
si spinge allo stesso repo nel docker hub. Ho archiviato un problema qui (https://github.com/docker/docker/issues/19583) eseguendo altri test basati sui tuoi suggerimenti e pubblicherò le informazioni extra lì – jtmarmon