這可能是重複的,但是我看到的所有答案都不適用於我。快速碼頭容器刷新工作流程
我在使用docker(17.06.2-ce),docker-compose(1.16.1)。
我有一個solr的圖像,我用於開發和測試目的(也在CI上)。 當對圖像進行更改時,我需要重新生成圖像並重新創建容器,以便容器使用最新的可能圖像,然後該圖像從本地回購中獲取最新的可能代碼。
我已經創建了基於官方solr-docker圖像的自己的圖像。回購是一個包含額外步驟的文件夾,我將其應用於圖像,例如複製文件並使用sed對現有配置進行更改。
我在回購工作,並有容器在後臺運行。
當我需要刷新的容器,我通常執行這些命令
sudo docker-compose stop sudo docker rm $(sudo docker ps -a -q) sudo docker rmi $(sudo docker images -q) sudo docker-compose up
上述4個命令是唯一途徑它爲我工作。我嘗試過的所有其他方法都不會重建圖像,也不會基於新的重建圖像創建容器。換句話說,圖像中的代碼將是陳舊的。
問題:
- 是否有可能刷新圖像+使用更少的命令重建容器?
- 每次我運行4個以上的命令時,docker會下載〜500MB的依賴關係。有沒有可能不下載它們,只是使用更新的本地代碼和現有的緩存依賴性重建圖像?
下載的依賴關係是什麼?由於碼頭工人在本地緩存基礎鏡像,因此他們不應該是圖像 – yamenk