mam tego polecenia curl w moim Dockerfile:OpenShift 3.1 - Zapobieganie Docker od buforowanie curl zasobu
RUN curl -H 'Cache-Control: no-cache' -f ${NEXUS_URL}${ARTIFACT_PATH}-${ARTIFACT_VERSION}.war?nocache=true -o $JBOSS_HOME/standalone/deployments/ROOT.war
Pierwszy raz prowadził ją mogę zobaczyć informacje o pobieraniu. Jednak po tym zdaje się buforować zdalny zasób i tym samym nie aktualizować go:
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
Jak mogę temu zapobiec?
Nie mogę kontrolować sposobu uruchamiania okna dokowanego, chodzi mi o to, że uruchamiam program PaaS, który wywołuje mój plik dokowany, więc nie mogę przekazywać argumentów w kompilacji doków ... – codependent
Daję ci +1 jako najlepszą czystą odpowiedź Docker – codependent
Więc kiedy uruchomić z powłoki jest różnica między używaniem CACHEBUST vs --no-cache? Mój plik docker (pośrednio) klonuje gałąź oddzielnego repozytorium git, które aktywnie zmieniam. (Aby być całkowicie dokładnym, nie klonuje się bezpośrednio do drugiego repo, ale zainstaluje go.) Chciałbym warunkowo zniszczyć pamięć podręczną, najlepiej tylko dla warstwy, która dodaje to oddzielne repo, gdy tylko zmieni się HEAD w zdalnym oddziale. Myślałem o dynamicznym pobieraniu skrótu zatwierdzenia HEAD z GitHub i przechowywania go w pliku, który został dodany nad poleceniem ADD dla repo, ale czuje się zjadliwy ze wspólnego scenariusza. –