開發者工具 · Docker run 到 Docker compose 轉換器
從 Fig 到 Compose v2:Docker Compose 檔案的簡短歷史
· 背景
碼頭工人 撰寫 配置
Compose 最初是一個名為 Fig 的第三方工具,在當前規範之前經歷了多種檔案格式。這篇文章追蹤了一些里程碑,解釋了您仍然在野外找到的檔案。
一家公司中的三個外觀不同的檔案 - 一個無版本檔案,一個版本:“2”,以及一個根本沒有版本的 compose.yaml
一家公司中的三個外觀不同的檔案 — 一個無版本檔案、一個版本:「2」以及一個根本沒有版本的 compose.yaml。證據:外觀不同的檔案可能共存,但該儲存庫不提供時間順序。使用一次性文字再現檔案形狀。將每個來源事件與服務量網路配對;保留歷史年表以供目的地審查。
配置事件也揭示了一個單獨的配置事件邊界是只有命名磁碟區和自訂網路可以新增頂層部分。證據:只有命名磁碟區和自訂網路可以添加頂級部分。該檔案形狀約束是一個停止點。檢查沒有製造行為的服務卷網絡,然後記錄主機檢查的歷史時間順序。
儲存庫證據並未建立 Fig 的歷史,因此本節解釋目前解析器邊界
圖 — Orchard 專案引入了描述連結容器的 YAML 檔案的想法。證據:無花果的獲取和釋放宣告沒有來自受檢查的樹;存儲庫證據並不能建立 Fig 的歷史,因此本節解釋當前解析器邊界。將檔案形狀標記追蹤到服務卷網路中。將有序值與最後值欄位分開;歷史年表不在收藏範圍內。
一個相關的配置機制邊界是,對於該配置節,在該候選檔案旁邊保留該配置節的原始命令和該配置節的警告。證據:儲存庫沒有提供更廣泛的執行時間或歷史證據。使用此檔案形狀事實來預測服務卷網路中的一個成員或標量。在決定有關歷史年表的任何事情之前先檢查警告。
此處沒有取得或發布年表;將傳統輸入與目前輸出進行比較
Docker Compose 1.0 — 取得與重新命名,以及沒有 services: key 的 v1 檔案格式。證據:當前模型始終以服務和一個服務名稱開頭;此處沒有獲取或發佈時間順序;相反,將傳統的輸入與當前的輸出進行比較。從其模型判斷檔案形狀序列化。服務卷網路中的引用可以保護類型,但不能提供歷史年表的操作證據。
第二個配置序列化觀察是為此組態節保留該組態節的原始命令,並警告除了該組態節之外,組態序列化結果將表示該組態節的組態與該組態節影像元資料的缺失情境分開的候選檔位於組態序列化轉換之外。此檔案形狀輸出將設定與不可用的上下文分開。保持服務量網路可審查並獨立檢查歷史時間順序。
產生器的可觀察頂層模型是服務加上可選的捲和網絡
格式 2 和 3 — 服務、網路和磁碟區作為頂層金鑰,然後是針對 Swarm 的部署:設定。證據:只有命名磁碟區和自訂網路才能添加頂級部分;產生器的可觀察頂層模型是服務加上可選的捲和網路。停在檔案形狀異常處而不是猜測。任何靠近服務量網路的新增都需要與歷史時間順序相關的特定部署的原因。
另一個配置異常約束是,對於該配置節,在該候選檔案旁邊保留該配置節的原始命令和該配置節的警告。將原始檔案形狀命令保留在警告旁邊。比較顯示了網路包含哪些服務量以及哪些歷史時間順序決策仍然是手動的。
此實作發出無版本子集,但未宣告完全符合 Compose 規範
Compose 規格 — 將格式合併到一個開放維護的模式。證據:無版本輸出並不能建立完全的規範合規性;實現發出無版本子集,但不宣告完全符合 Compose 規範。從合成名稱建立檔案形狀範例。使每個服務卷網路項目可追溯,而不會暴露生產歷史時間順序詳細資訊。
相同的配置範例範例表明,對於此組態節,請在該候選檔案旁邊保留此組態節的原始命令和此組態節的警告。配對的檔案形狀事實應該在服務卷網路中可見。記錄下這句話並避免歷史年表的假設。
Compose 實作歷史記錄位於儲存庫證據之外;輸出行為是受支援的主題
Compose v2 — 在 Go 中重寫為 docker CLI 插件,以及 Python docker-compose 的結束。證據:目前版本的遺漏是可以觀察到的,而里程碑則不是; Compose 實施歷史記錄位於儲存庫證據之外;輸出行為是受支持的主題。將檔案形狀結果轉換為一種可觀察的服務量網路差異。 Docker擁有後來的歷史年表裁決。
配置結果實現還顯示,對於該配置節,保留該配置節的原始命令和警告,對於該配置節,該候選檔案配置結果事實定義了瀏覽器為此配置節貢獻的內容,docker 仍然擁有配置結果執行時判決,對於該組態節,操作員仍然擁有組態節的安全性策略,對於該組態儲存庫仍需要刪除組態的責任節。分割檔案形狀職責:轉換寫入服務卷網絡,儲存庫刪除機密,操作員驗證歷史年表。
這不包括什麼 - Swarm 模式、Kubernetes 清單和其他編排格式
這不包括 Swarm 模式、Kubernetes 清單和其他編排格式。證據:Swarm Kubernetes 和備用協調器位於來源外。將檔案形狀範圍限制為此處顯示的服務卷網路分支。相鄰的形式和預設值無法回答歷史年代問題。
另一個配置範圍限制來自一個單獨的配置限制邊界,即 Fig 獲取和發布宣告在檢查樹中沒有來源。證據:無花果的取得和釋放宣告在所檢查的樹中沒有來源。將此檔案形狀邊界視為排除項。喜歡準確的服務量網絡而不是對歷史年表的猜測。
重點:您今天編寫的檔案遵循規範 - 並轉換器為您提供一個服務定義以放入該形狀的檔案中
重點:您今天編寫的檔案遵循規範 - 並轉換器為您提供一個服務定義以放入該形狀的檔案中。證據:無需制定時間表即可記錄當前行為。審核檔案形狀作為來源選項、模型欄位、服務卷網路線和警告。在檢查歷史年表之前刪除秘密。
最後,配置要點來源確認了一個單獨的配置決策邊界是當前模型始終以服務和一個服務名稱開頭。證據:目前模型始終以服務和一個服務名稱開頭。縮小檔案形狀:服務卷網路是候選者;歷史年表和 shell 等效性並不能保證。