ich diesen curl Befehl habe in meinem Dockerfile:Openshift 3.1 - Prevent Docker von Cachen curl Ressource
RUN curl -H 'Cache-Control: no-cache' -f ${NEXUS_URL}${ARTIFACT_PATH}-${ARTIFACT_VERSION}.war?nocache=true -o $JBOSS_HOME/standalone/deployments/ROOT.war
Das erste Mal, dass ich es lief ich die Download-Informationen sehen kann. Jedoch nach, dass es Caching die Remote-Ressource zu sein scheint und somit die Aktualisierung es nicht mehr:
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
Wie könnte ich dies verhindern?
Ich kann nicht steuern, wie Docker ausgeführt wird, ich meine, ich bin in einem PaaS ausgeführt, die meine Dockerdatei aufruft, so dass ich Argumente in Docker Build nicht übergeben kann ... – codependent
Ich gebe Ihnen eine +1 als die beste reine Docker Antwort – codependent
Also, wenn von einer Shell ausgeführt wird gibt es einen Unterschied zwischen der Verwendung von CACHEBUST vs - no-cache? Meine Docker-Datei klont (indirekt) einen Zweig eines separaten Git-Repos, den ich aktiv verändere. (Um ganz genau zu sein, klont es nicht direkt das zweite Repo, sondern pip installiert es.) Ich möchte den Cache bedingungslos auflösen, idealerweise nur für den Layer, der diesen separaten Repo hinzufügt, wenn HEAD seines entfernten Zweigs sich ändert. Ich habe daran gedacht, den HEAD-Commit-Hash dynamisch von GitHub abzurufen und ihn in einer Datei zu speichern, die oberhalb des ADD-Befehls für den Repo hinzugefügt wurde, aber er fühlt sich für ein häufiges Szenario hacky an. –