我有一個定期更新的數據處理應用程序。這個應用程序有一堆依賴關係,它們也會隨時更新。但是,不同版本的軟件(+相關性)可能會產生不同的結果(這是預期的)。該應用程序在遠程計算機上運行,可通過網頁訪問。每次用戶使用網頁進行一些處理時,他/她也會選擇他/她想要使用的軟件版本。使用Docker跟蹤軟件版本/安裝?
現在我正在嘗試確定哪些是跟蹤不同軟件(+依賴項)版本的最佳方式。當然最簡單的方法就是將我的軟件及其依賴項的每個版本編譯並安裝到不同的文件夾中,然後根據用戶發送的請求選擇合適的文件夾。但是,這聽起來對我來說很笨拙。所以我想我可以使用Docker來跟蹤不同的軟件版本。你認爲這是一個好主意嗎?如果是的話,每當我有新版本的軟件(和/或依賴)時,最適合做什麼:1)用新版本從頭開始創建一個新容器(並且最終具有多個容器),或者2)更新現有容器並提交更改? (我想我可以訪問容器的老版本,對嗎?)
PS:請記住,我研究Docker而不是簡單的虛擬機解決方案的原因是,我運行的應用程序是高性能的,高性能的基於GPU的軟件。
不要更新容器。製作一個新的圖像,開始一個新的容器。容器應該是一次性的,如果你有它的任何狀態,那麼將這個狀態外部化(數據庫或卷掛接)。 – Thilo