2017-04-11 47 views
1

因此,我正在創建Dockerfile,在該Dockerfile中使用了我現有的ansible-wrok。如何僅推送Docker鏡像中的特定更改

例如: -

COPY run.sh /root/run.sh 
RUN chmod +x /root/run.sh 
RUN ansible-playbook ansible/haproxy.yml -vvvv 

以上,DockerFile創建我的形象。現在

,如果我想創建圖像後添加的東西,可以說建立在容器的新目錄

RUN mkdir test 

但是,如果我再創建它將從運行的映像運行泊塢窗生成命令刮。

是否有一種方法可以只推送泊塢窗圖像中修改過的更改?

回答

2

只要有不變化:

  • 前述在Dockerfile
  • RUN mkdir test的線和在上下文中的所有文件(由含有Dockerfile默認目錄),其在參考前面的行

當運行後續的docker build時,守護程序將使用該項目以前版本中的緩存。如果圖像是從頭開始構建的,則意味着其中一個條件不滿足。

泊塢窗圖像被持久保存並分層傳輸。儘管docker images會顯示該圖像的總大小,但是docker足夠智能,可以重用在多個圖像之間共享的圖層 - 也就是說,如果緩存按預期工作,則後續構建和推送應比從頭開始時更快。

相關問題