2016-02-11 29 views
0

我們已經在Docker容器中運行應用程序。我們希望每天保存容器的備份。我認爲碼頭提交和碼頭推送是進行備份並將新鏡像推送到碼頭中心的選項之一。自動化docker commit和push

但是這必須手動完成。 泊塢窗提供了一種方法來自動執行此操作(提交併推送)嗎?或者是否有任何開源工具可以做到這一點?

或者我們是否需要編寫腳本並將其添加到cron作業中?

我來通過這個SO。但答案是基於碼頭事件。這對我的工作來說並不複雜。有沒有簡單的方法?

回答

3

我會建議你不要那樣做:)。這在快照中確實會產生,但最終會導致長時間運行的容器無法從快照的原始位置重新啓動。此外,隨着時間的推移,這將導致越來越大的快照。

解決這個問題的更好方法是控制你的狀態,並使用卷並簡單地做一個cron作業來tar /備份這個卷(你可以看看https://github.com/tutumcloud/dockup使它自動)。

另一種方式是仍然控制你的狀態並定期執行docker cp來提取你的狀態。

這樣,您的容器本身就是無狀態的,可以通過該備份輕鬆地從原始點或任何時間點重新使用。它簡化了很多升級。

如果你不控制你的狀態,那麼你是對的,提交/推送將是一個解決方案,但我建議停止容器並從提交版本重新啓動。這樣,下一次,快照將只包含前一個的差異。爲此,您需要編寫自己的腳本並將其添加到cronjob中。