2016-02-01 17 views
9

Ho alcuni comandi RUN nel mio Dockerfile che vorrei eseguire con -no-cache ogni volta che costruisco un'immagine Docker.Disabilita cache per comandi RUN specifici

Capisco che lo docker build -no-cache disabiliti la cache per l'intero file Docker.

È possibile disattivare la cache per un comando RUN specifico?

+0

Dopo aver disattivato la cache per un singolo comando, se il risultato non corrisponde passato corsa nella cache, avresti bisogno di ricostruire tutti i passaggi rimanenti. È questo il tuo obiettivo, o speri di ricostruire solo un singolo livello e in qualche modo inserirlo nel posto in cui sono stati memorizzati i dati memorizzati nella cache precedente? – BMitch

+0

Speravo di ricostruire livelli specifici, ad esempio un comando "git pull". In questo momento il comando "git pull" verrà memorizzato nella cache, anche se il repository viene aggiornato. – Vingtoft

+1

È abbastanza facile forzare un pull passando un argomento inutilizzato. Ma il risultato della ricostruzione della cache è la ricostruzione di tutti i livelli successivi. Vedi [la mia risposta qui] (http://stackoverflow.com/a/37798643/596285) per un esempio. – BMitch

risposta

2

Non direttamente, ma si può dividere il Dockerfile in più parti, costruire un'immagine, quindi DA thisimage all'inizio della prossima Dockerfile, e costruire l'immagine, con o senza il caching

+0

Attiva l'aggiornamento dei livelli attivati ​​nell'immagine della finestra mobile di base? –

3

A partire dal febbraio 2016 non è possibile.

La funzione è stata richiesta al GitHub

Problemi correlati