繁體中文

開發者工具 · Docker run 到 Docker compose 轉換器

Compose 檔案中的版本鍵已過時:取代它的是什麼

· 背景

碼頭工人 撰寫 配置

說明 compose 檔案中版本金鑰的抽象圖已過時:取代它的內容
原始 ToolAcre 向量圖

多年來,每個 Compose 檔案都以版本:「3」開頭。這篇文章解釋了用於選擇的數字、Compose 規範刪除它的原因以及如何處理您擁有的檔案。

每個命令都會出現新警告 - 對於多年來未更改的檔案,“版本已過時”

每個指令都會出現新警告 - 對於多年來未更改的檔案,「版本已過時」。證據:作者從服務開始,測試拒絕頂級版本密鑰。使用一次性文字重現版本金鑰刪除。將每個來源事件與無版本服務輸出配對;保留舊版相容性以供目的地審核。

配置事件也揭示了一個單獨的配置事件邊界是支援的結果是一個無版本的受限檔案。證據:支持的結果是一份無版本的有限檔案。此版本密鑰刪除約束是一個停止點。在沒有製造行為的情況下檢查無版本服務輸出,然後記錄主機檢查的遺留相容性。

此儲存庫驗證版本的省略,而非歷史引擎格式相容性表

什麼版本:選擇 — 檔案格式 1、2.x 或 3.x,每個都與最小 Docker 引擎和一組允許的金鑰相關聯。證據:此儲存庫中不存在引擎到格式的相容性表;此儲存庫驗證版本的省略,而不是歷史引擎與格式的相容性表。將版本密鑰刪除令牌追蹤到無版本服務輸出中。將有序值與最後值欄位分開;遺留相容性不在集合範圍內。

一個相關的配置機制邊界是,對於該配置節,在該候選檔案旁邊保留該配置節的原始命令和該配置節的警告。證據:儲存庫沒有提供更廣泛的執行時間或歷史證據。使用此版本鍵刪除事實來預測無版本服務輸出中的一個成員或標量。在決定有關舊版相容性的任何事情之前檢查警告。

該程式碼沒有確定為什麼早期格式分支會出現分歧,因此它記錄了目前產生的金鑰

為什麼 2 和 3 存在分歧 — 3 中面向群的密鑰、2 中的資源限制以及由此造成的混亂。證據:歷史背離不能由轉換器的實作來解釋;該程式碼沒有確定為什麼早期格式分支會出現分歧,因此它記錄了目前產生的金鑰。從其模型中判斷版本鍵刪除序列化。在無版本服務輸出中引用可以保護類型,但不能提供舊版相容性的操作證明。

第二個配置序列化觀察是為此組態節保留該組態節的原始命令,並警告除了該組態節之外,組態序列化結果將表示該組態節的組態與該組態節影像元資料的缺失情境分開的候選檔位於組態序列化轉換之外。此版本密鑰刪除輸出將設定與不可用的上下文分開。保持無版本服務輸出可審查並獨立檢查遺留相容性。

規範的答案 - 一個模式,沒有版本欄位,而是由 Compose 實現控制的功能

規範的答案 - 一個模式,沒有版本欄位,而是由 Compose 實現控制的功能。在版本鍵刪除異常處停止而不是猜測。任何接近無版本服務輸出的新增都需要與遺留相容性相關的特定部署的原因。

另一個配置異常約束是單獨的配置異常邊界是舊版 Python 和 Swarm 語意需要版本化參考。證據:遺留的 Python 和 Swarm 語意需要版本化引用。將原始版本密鑰刪除命令保留在警告旁邊。此比較顯示了無版本服務輸出包含哪些內容以及哪些遺留相容性決策仍然是手動的。

如何處理舊檔案 - 刪除金鑰、檢查僅 v2 或僅 v3 的金鑰以及執行 docker compose config

如何處理舊檔案 — 刪除金鑰、檢查僅 v2 或僅 v3 的金鑰以及執行 docker compose config。證據:刪除版本無法驗證每個剩餘的舊金鑰。從合成名稱建立版本金鑰刪除範例。使每個無版本服務輸出項目都可追溯,而不會暴露生產遺留相容性詳細資訊。

相同的配置範例範例表明,單獨的配置範例邊界是新的輸出適合服務而不宣告通用相容性。證據:新的輸出適合服務,但不要求通用相容性。配對版本金鑰刪除事實應該在無版本服務輸出中可見。記錄該行並避免有關舊版相容性的假設。

工作範例:在檢查所有剩餘金鑰後僅刪除版本行

工作範例:現代化版本:「2.1」檔案 — 三個編輯以及前後差異。證據:現代化範例應在審查後僅刪除該標記;工作範例:在檢查所有剩餘密鑰後僅刪除版本行。將版本金鑰刪除結果轉換為一種可觀察的無版本服務輸出差異。 Docker 擁有後來的遺留相容性裁決。

配置結果實現還顯示,對於該配置節,保留該配置節的原始命令和警告,對於該配置節,該候選檔案配置結果事實定義了瀏覽器為此配置節貢獻的內容,docker 仍然擁有配置結果執行時判決,對於該組態節,操作員仍然擁有組態節的安全性策略,對於該組態儲存庫仍需要刪除組態的責任節。分割版本金鑰刪除職責:轉換寫入無版本服務輸出,儲存庫刪除機密,操作員驗證舊版相容性。

舊版 Python 工具需求和 Swarm 部署行為不是從此轉換器推斷出來的

這不包括舊的 Python docker-compose v1,它仍然需要密鑰和 Swarm 特定的部署設定。證據:遺留的 Python 和 Swarm 語意需要版本化參考;舊版 Python 工具要求和 Swarm 部署行為不是從此轉換器推斷出來的。將版本金鑰刪除範圍限制為此處顯示的無版本服務輸出分支。相鄰的表單和預設值無法回答舊版相容性問題。

保留此設定節的原始命令以及此候選檔案旁邊的警告後,又出現了一個配置範圍限制。將此版本金鑰刪除邊界視為排除項。喜歡準確的無版本服務輸出,而不是對遺留相容性的猜測。

重點:檔案格式具有一種當前形狀 - 且新轉換的服務定義適合服務:沒有版本行

重點:檔案格式具有一種目前形狀 - 且新轉換的服務定義適合服務:沒有版本行。審計版本金鑰刪除作為來源選項、模型欄位、無版本服務輸出行和警告。在檢查舊版相容性之前刪除機密。

最後,配置要點來源確認了一個單獨的配置決策邊界,即歷史分歧不能由轉換器實作來解釋。證據:轉換器的實作無法解釋歷史差異。嚴格關閉版本密鑰刪除:無版本服務輸出是候選者;不保證舊版相容性和 shell 等效性。