開發者工具 · Docker run 到 Docker compose 轉換器
docker-compose 與 docker compose:Python 工具和 Go 插件
· 背景
碼頭工人 撰寫 開發人員工作流程
連字號標記兩個不同的程式。這篇文章解釋了每台機器的來源、它們的行為有何不同,以及如何判斷哪台機器正在運作。
腳本在本地執行,但在 CI 中失敗 — 一台機器有 docker-compose,另一台機器有 docker-compose,它們不一樣
這個腳本在本地執行,但在 CI 中失敗——一台機器有 docker-compose,另一台機器有 docker-compose,它們不一樣。證據:不同的可執行檔名稱可能會在 CI 中失敗,但瀏覽器無法檢查 PATH。使用一次性文字重現可執行選擇。將每個來源事件與普通 YAML 和本地命令配對;保留二進位特定行為以供目的地審查。
此開發人員工作流程的開發人員工作流程事件 此開發人員工作流程部分的開發人員工作流程事件 此開發人員工作流程部分的開發人員工作流程部分 此開發人員工作流程部分的開發人員工作流程部分 此開發人員工作流程部分的開發人員工作流程部分 說明了單獨的開發人員工作流程部分 此開發人員工作流程部分的開發人員工作流程部分 顯示了單獨的開發人員工作流程部分 此開發人員工作流程部分的開發人員工作流程部分 描述流程是單獨的開發人員工作流程部分 此開發人員工作流程部分的開發人員工作流程部分 揭示了單獨的開發人員工作流程部分 此開發人員工作流程部分。證據:儲存庫沒有提供更廣泛的執行時間或歷史證據。這個可執行的選擇約束是一個停止點。檢查沒有製造行為的普通 YAML 和本機命令,然後記錄二進位特定行為的主機檢查。
儲存庫不提供先前的 Python 程式的分發歷史記錄
Python 時代 — docker-compose 作為與 pip 一起安裝的獨立程式或作為二進位。證據:先前的 Python 發行版歷史並非來自此處;該儲存庫不提供先前的 Python 程式的分發歷史記錄。將可執行選擇標記追蹤為普通 YAML 和本機命令。將有序值與最後值欄位分開;二進位特定的行為在集合之外。
相關的開發人員工作流程機制邊界是,對於該開發人員工作流程部分,在該候選檔案旁邊保留該開發人員工作流程部分的原始命令和該開發人員工作流程部分的警告。使用此可執行選擇事實來預測普通 YAML 和本機命令中的一個成員或標量。在決定有關二進制特定行為的任何事情之前檢查警告。
轉換器發出普通的 YAML 而不檢測安裝了哪個 Compose 可執行檔案
Compose v2 — Go 重寫作為 docker CLI 插件提供,以 docker compose 呼叫。證據:沒有呼叫 Compose 可執行檔案,且輸出是普通的 YAML;轉換器發出普通的 YAML 而不檢測安裝了哪個 Compose 執行檔。從其模型判斷可執行選擇序列化。在普通 YAML 和本機命令中引用可以保護類型,但不會提供二進位特定行為的操作證明。
第二個開發人員工作流程序列化觀察是為此開發人員工作流程部分保留此開發人員工作流程部分的原始命令,並警告除了此開發人員工作流程部分之外,開發人員工作流程序列化結果表示的此開發人員工作流程部分配置與此開發人員工作流程部分的缺失上下文分開的候選圖片元資料位於開發人員工作序列化資料位於開發人員工作流程部分配置與此開發人員工作流程部分的缺失上下文分開的候選影像流程元資料位於開發人員工作流程部分配置與此開發人員工作流程部分的缺失上下文分開的候選影像流程序列化資料位於開發人員工作流程部分配置與此開發人員工作流程部分的缺失上下文分開的候選影像元資料位於開發人員工作流程部分配置與此開發人員工作流程部分的缺失上下文分開的候選影像元資料位於開發人員工作流程部分配置與此開發人員工作流程部分的缺失上下文分開的候選影像元資料位於開發人員工作流程部分所配置與此開發人員工作流程部分的缺失上下文所分開的候選影像元資料位於開發人員工作流程部分所配置與此開發人員工作流程部分的缺失上下文分開的候選影像元資料位於開發人員工作流程部分所配置與此開發人員工作流程部分的缺失情境。此可執行選擇輸出將設定與不可用的上下文分開。保持普通 YAML 和本地命令可審查,並獨立檢查二進位特定行為。
Compose 實作之間的行為差異需要有自己的版本化文件
行為差異 — 容器命名分隔符號、版本金鑰和移動的命令列標誌。證據:命名和標誌差異因實作和版本而異; Compose 實作之間的行為差異需要它們自己的版本化檔案。在可執行選擇異常處停止而不是猜測。任何靠近普通 YAML 和本機命令的新增都需要與二進位特定行為相關的特定於部署的原因。
另一個開發人員工作流程異常約束是,對於該開發人員工作流程部分,在該候選檔案旁邊保留該開發人員工作流程部分的原始命令和該開發人員工作流程部分的警告。將原始可執行選擇指令保留在警告旁邊。此比較顯示了普通 YAML 和本機命令包含的內容以及哪些二進位特定行為決策仍然是手動的。
可執行發現是操作員檢查;瀏覽器轉換器執行這兩個命令
區分它們 — docker compose 版本、docker-compose 和 compose-switch shim。證據:操作員可以在此頁面之外執行版本和路徑檢查;可執行發現是操作員檢查;瀏覽器轉換器執行這兩個命令。從合成名稱建立可執行選擇範例。使每個普通 YAML 和本地命令項目都可追踪,而不會暴露生產二進制特定的行為細節。
同一開發人員工作流程範例示範了,對於此開發人員工作流程部分,請在此候選檔案旁邊保留此開發人員工作流程部分命令的原始內容和此開發人員工作流程部分的警告。配對的可執行檔選擇事實應該在普通 YAML 和本機命令中可見。記錄該行並避免對二進制特定行為的假設。
這不包括什麼 - Podman 的 compose 實作和讀取 Compose 檔案的其他工具
這不包括什麼 — Podman 的 compose 實作和讀取 Compose 檔案的其他工具。證據:Podman 和其他讀者可能會以不同的方式解釋接受的 YAML。將可執行選擇結果轉換為可觀察的普通 YAML 和本機命令差異。 Docker 擁有後來的二進制特定行為判決。
開發人員工作流程結果實作也顯示了一個單獨的開發人員工作流程效果邊界,即先前的 Python 發行版歷史記錄並非源自此處。證據:先前的 Python 發行版歷史並非來自此處。分割可執行檔選擇職責:轉換寫入普通 YAML 和本機命令,儲存庫刪除機密,操作員驗證二進位特定行為。
重點:使用插件,保持檔案規格相容 - 並轉換器在普通 Compose 中產生服務定義 YAML
重點:使用插件,保持檔案規格相容 - 並轉換器會在普通 Compose YAML 中產生服務定義。證據:在信任驗證之前確定實際實作。將可執行檔選擇範圍限制為純 YAML 和此處顯示的本機命令分支。相鄰的形式和預設值無法回答二進位特定的行為問題。
另一個開發人員工作流程範圍限制來自一個單獨的開發人員工作流程限制邊界,即不呼叫 Compose 可執行檔且輸出為普通 YAML。證據:沒有呼叫 Compose 可執行檔案,且輸出是普通的 YAML。將此可執行選擇邊界視為排除項。喜歡準確的普通 YAML 和本地命令,而不是對二進制特定行為的猜測。