ho questo comando riccio nel mio Dockerfile:OpenShift 3.1 - Prevenire Docker dal caching delle risorse ricciolo
RUN curl -H 'Cache-Control: no-cache' -f ${NEXUS_URL}${ARTIFACT_PATH}-${ARTIFACT_VERSION}.war?nocache=true -o $JBOSS_HOME/standalone/deployments/ROOT.war
La prima volta che ho fatto funzionare ho potuto vedere le informazioni di download. Tuttavia dopo che sembra essere la memorizzazione nella cache la risorsa remota e, quindi, non aggiornare faccio più:
Step 6 : RUN curl -H 'Cache-Control: no-cache' -f ${NEXUS_URL}${ARTIFACT_PATH}-${ARTIFACT_VERSION}.war?nocache=true -o $JBOSS_HOME/standalone/deployments/ROOT.war
30 ---> Using cache
31 ---> be50412bf6c3
Come potrei evitare questo?
Non riesco a controllare il modo in cui viene eseguita la finestra mobile, voglio dire che sono in esecuzione in un PaaS che chiama il mio file docker in modo da non poter passare argomenti nel docker build ... – codependent
Ti sto dando un +1 come la migliore risposta Docker pura – codependent
Quindi quando si esegue da una shell c'è una differenza tra l'utilizzo di CACHEBUST vs --no-cache? Il mio dockerfile (indirettamente) clona un ramo di un repository git separato che sto attivamente cambiando. (Per essere completamente accurato, non sta clonando direttamente il secondo repository, ma lo sta installando.) Mi piacerebbe eseguire il bump condizionato della cache, idealmente solo per il livello che aggiunge quel repository separato, ogni volta che HEAD del suo ramo remoto cambia. Ho pensato di prelevare in modo dinamico l'hash di commit HEAD da GitHub e di memorizzarlo in un file che è stato aggiunto sopra il comando ADD per il repository, ma si sente hacky per uno scenario comune. –