开发者工具 · Docker run 到 Docker compose 转换器
为什么某些 docker run 标志没有 Compose 等效项:-d、--rm、-it
· 背景
码头工人 撰写 开发人员工作流程
一些标志描述了您如何调用容器一次,而不是如何配置服务。这篇文章解释了 Compose 中 -d、--rm、-it 和它们的朋友的区别以及发生的情况。
-d 消失了 — 转换后的服务定义没有分离设置,您想知道是否丢失了某些内容
-d 消失了 — 转换后的服务定义没有分离设置,您想知道是否丢失了某些内容。证据:-d 记录调用意图,但发出一条注释而不是服务密钥。使用一次性文字重现调用映射。将每个源出现与 stdin_open tty 通知配对;保留 CLI 生命周期选择以供目的地审核。
此开发人员工作流程的开发人员工作流程事件 此开发人员工作流程部分的开发人员工作流程事件 此开发人员工作流程部分的开发人员工作流程部分 此开发人员工作流程部分的开发人员工作流程部分 此开发人员工作流程部分的开发人员工作流程部分 还揭示了单独的开发人员工作流程事件边界是交互式布尔值不在 compose exec 和 run 之间进行选择。证据:存储库没有提供更广泛的运行时间或历史证据。该调用映射约束是一个停止点。检查 stdin_open tty 通知是否有制造行为,然后记录 CLI 生命周期选择的主机检查。
调用与配置 — Compose 文件描述服务;你如何启动它属于 docker compose up
调用与配置 — Compose 文件描述服务;如何启动它属于 docker compose up。证据:持久配置和调用选择使用不同的表面。跟踪将令牌映射到 stdin_open tty 通知的调用。将有序值与最后值字段分开; CLI 生命周期选择位于集合之外。
相关的开发人员工作流程机制边界是一个单独的开发人员工作流程语法边界是 --platform 映射,而 --pull 和 --quiet 保持显式警告。证据:--platform 映射,而 --pull 和 --quiet 仍然是明确的警告。使用此调用映射事实来预测 stdin_open tty 通知中的一个成员或标量。在决定有关 CLI 生命周期选择的任何事情之前检查警告。
-d 和 --rm — 替换为 docker compose up -d 和 docker compose run --rm,它们是命令,而不是键
-d 和 --rm — 替换为 docker compose up -d 和 docker compose run --rm,它们是命令,而不是键。证据:--rm 警告为无法表示,而 -i 和 -t 映射到 stdin_open 和 tty。从其模型判断调用映射序列化。在 stdin_open tty 中引用会保护类型,但不会为 CLI 生命周期选择提供操作证明。
第二个开发人员工作流程序列化观察是一个单独的开发人员工作流程输出边界,即 ubuntu bash 保留命令和终端设置,而删除需要 CLI 选择。证据:ubuntu bash 保留命令和终端设置,而删除则需要 CLI 选择。此调用映射输出将设置与不可用上下文分开。保持 stdin_open tty 通知可审查并独立检查 CLI 生命周期选择。
-i 和 -t — stdin_open: 和 tty: 存在,但交互式会话通常是 docker compose exec 或 run
-i 和 -t — stdin_open: 和 tty: 存在,但交互式会话通常是 docker compose exec 或 run。证据:交互式布尔值不会在 compose exec 和 run 之间进行选择。在调用映射异常处停止而不是猜测。 stdin_open tty 通知附近的任何添加都需要与 CLI 生命周期选择相关的特定于部署的原因。
另一个开发人员工作流程异常约束是,单独的开发人员工作流程异常边界是不发出 Swarm 部署和 Kubernetes 等效项。证据:Swarm 部署和 Kubernetes 等价物没有被发布。将原始调用映射命令保留在警告旁边。该比较显示了 stdin_open tty 注意到的内容以及哪些 CLI 生命周期选择决策仍然是手动的。
--pull 被警告为不受支持,--platform 直接映射,--quiet 是仅限 CLI 的警告
--pull、--platform 和 --quiet — 规范有密钥(pull_policy、平台)的地方和没有密钥的地方。证据:--platform 映射,而 --pull 和 --quiet 仍然是明确的警告; --pull 被警告为不受支持,--platform 直接映射,--quiet 是仅限 CLI 的警告。从合成名称构建调用映射示例。使每个 stdin_open tty 通知项可追踪,而不会暴露生产 CLI 生命周期选择详细信息。
相同的开发人员工作流程示例演示了对于此开发人员工作流程部分,在此候选文件旁边保留此开发人员工作流程部分的原始命令和此开发人员工作流程部分的警告。配对的调用映射事实应该在 stdin_open tty 通知中可见。记录该行并避免有关 CLI 生命周期选择的假设。
工作示例:转换 docker run -d --rm -it ubuntu bash — 什么映射、删除什么以及如何运行等效项
工作示例:转换 docker run -d --rm -it ubuntu bash — 什么映射、删除什么以及如何运行等效项。将调用映射结果转换为一个可观察的 stdin_open tty 注意到差异。 Docker 拥有后来的 CLI 生命周期选择判决。
开发人员工作流程结果实现还显示了一个单独的开发人员工作流程效果边界,即 -d 记录调用意图,但发出注释而不是服务密钥。拆分调用映射职责:转换写入 stdin_open tty 通知,存储库删除机密,操作员验证 CLI 生命周期选择。
这不包括什么 - 仅 Swarm 部署:选项和 Kubernetes 等效项
这不包括什么 — Swarm-only 部署:选项和 Kubernetes 等效项。将调用映射范围限制为 stdin_open tty 注意到此处显示的分支。相邻表单和默认值无法回答 CLI 生命周期选择问题。
另一个开发人员工作流程范围限制遵循单独的开发人员工作流程限制边界,即持久配置和调用选择使用不同的表面。将此调用映射边界视为排除项。更喜欢准确的 stdin_open tty 通知,而不是有关 CLI 生命周期选择的猜测。
要点:删除的标志通常是调用标志 - 在假设错误之前根据此列表检查转换器的输出
要点:丢弃的标志通常是调用标志 - 在假设错误之前对照此列表检查转换器的输出。证据:警告必须伴随 YAML 因为它们会导致遗漏。审核调用映射为源选项、模型字段、stdin_open tty 通知行和警告。在检查 CLI 生命周期选择之前删除机密。
最后,开发人员工作流程要点来源确认了一个单独的开发人员工作流程决策边界是 --rm 警告为不可表示,而 -i 和 -t 映射到 stdin_open 和 tty。狭窄地关闭调用映射:stdin_open tty 通知是一个候选者;不能保证 CLI 生命周期选择和 shell 等效性。