我有一個Dockerfile具有在序列這兩個命令(https://gist.github.com/hasMobi/e198555704ee57e84399):Dockerfile - 除去在一個RUN命令文件時,它仍然存在於下一個RUN命令
RUN rm -frv /usr/share/nginx/html/*
RUN ls /usr/share/nginx/html/
當我看在控制檯同時建立興田形象,我可以清楚地看到從該文件夾中取出2個文件,但在接下來的運行指令到來時,它會列出該目錄的內容和文件仍然存在?:
這是怎麼回事在這?據我所知,每個RUN命令創建一個單獨的層和一個從另一分離,但不應該繼承文件系統的準確狀態,這是在前面的運行命令(第二RUN命令與所述2個文件消失)?
如果您要將dockerfile的第12行更改爲:'RUN rm -frv/usr/share/nginx/html/* && ls/usr/share/nginx/html /',您會得到什麼輸出結果?只是想,如果這個問題是在命令中隔離開來,或者如果它是在你的圖像層不會彼此 – CtheGood
的頂部正確構建我遇到了同樣的問題,並最終意識到,我試圖刪除文件中定義作爲由基本圖像Dockerfile的體積內,從而使體積因此得到在每一個層重新創建。 從[Docker文檔](https://docs.docker.com/engine/reference/builder/#volume):'如果任何構建步驟在聲明後更改了卷中的數據,那些更改將會是丟棄「。 –