2015-04-24 33 views
6

我試圖通過docker進行部署。我使用以下工作流程:由於存在很多圖像,所以使用docker push進行部署很慢

  1. 構建本地
  2. 把我的形象泊塢窗樞紐
  3. 在服務器上:拉圖像
  4. 在服務器上:啓動圖像

但碼頭推動需要永遠。有30個圖像,它必須遍歷每一個,並說「圖像已經存在」。有什麼辦法可以加快速度嗎?

或者,我是否應該使用不同的流程進行部署?

回答

4

如果您使用的是本地註冊表,我們最近添加了一個redis緩存,該緩存有助於加快速度。關於如何做到這一點的細節註冊表GitHub的頁面

https://github.com/docker/docker-registry

一邊推還需要時間對新的圖像上,拉的速度非常快,因爲所有層都在Redis的緩存。

+0

如何檢查已經推送的圖像?現在每個圖像層需要2-3秒,所以即使它們全部已經被緩存,也需要永久保存。 –

+0

這對我們的設置是即時的。如果你存儲到s3,redis是有幫助的。我對dockerhub沒有太多的瞭解,所以我不能說這些。 – seanmcl

+0

Docker-registry已被棄用,以支持docker分發。它用新的API設計取代了docker/docker-registry項目https://github.com/docker/distribution – calebeaires

3

如果您正在推進AWS ECR,就像我一樣,可能是您的本地需要重新啓動的docker。見線約AWS ECR緩慢:

https://forums.aws.amazon.com/thread.jspa?threadID=222834

這可能會影響到其他平臺以及。無論如何,在Mac上1.12.1左右似乎有一些緩慢的問題會隨着Docker的重啓而消失。