开发者工具 · 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 和本地命令,而不是对二进制特定行为的猜测。