开发者工具 · Docker run 到 Docker compose 转换器
--restart、--name 和 --hostname 如何成为 Compose 服务设置
· 工作原理
码头工人 撰写 重启策略
一些小标志决定容器是否在重新启动后继续存在以及它的名称。这篇文章解释了四种重新启动策略和命名键,以及 Compose 管理它们时发生的变化。
断电后没有任何返回 - docker run 有 --restart except-stopped,新的 Compose 文件没有
断电后什么也没有恢复 - docker run 有 --restart except-stopped,但新的 Compose 文件没有。证据:省略 --restart 会从服务中删除该命令提供的策略。使用一次性文字重现重新启动命名。将每个源实例与 restart_container_name 主机名配对;保留守护进程和名称冲突以供目的地审查。
重启策略事件还揭示了一个单独的重启策略事件边界是 --name 写入了container_name,并且也影响了服务密钥。证据:--name 写入container_name,也会影响服务密钥。此重新启动命名约束是一个停止点。检查没有制造行为的重新启动容器名称主机名,然后记录主机检查是否有守护程序和名称冲突。
四种重启策略 — 否、带有可选重试计数的故障时、始终和除非停止,以及守护进程如何在启动时应用它们
四种重启策略 — 否、带有可选重试计数的故障时、始终和除非停止,以及守护进程如何在启动时应用它们。证据:最后的重启值获胜,并且故障计数收到可移植性说明。将重新启动命名令牌跟踪到重新启动容器名称主机名中。将有序值与最后值字段分开;守护进程和名称冲突不在集合范围内。
一个相关的重启策略机制边界是, 一个单独的重启策略语法边界是 --hostname 写入主机名而不断言 DNS 行为。证据:--hostname 写入主机名而不断言 DNS 行为。使用此重新启动命名事实来预测重新启动容器名称主机名中的一个成员或标量。在决定有关守护程序和名称冲突的任何事情之前检查警告。
restart: 在 Compose 中 — 相同的值,以及为什么 except-stopped 和总是在显式 docker stop 后才不同
restart: 在 Compose 中 — 相同的值,以及为什么 except-stopped 和始终仅在显式 docker stop 后有所不同。证据:守护进程启动行为不是通过转换来模拟的。判断从其模型重新启动命名序列化。在重新启动容器名称主机名中引用可以保护类型,但不会提供守护程序和名称冲突的操作证明。
第二个重启策略序列化观察是单独的重启策略输出边界是样本可以一起显示重启名称和外部网络。证据:示例可以同时显示重新启动名称和外部网络。此重新启动命名输出将设置与不可用的上下文分开。保持重新启动容器名称主机名可审查,并独立检查守护进程和名称冲突。
--name to container_name — 你得到什么(可预测的名称)和你失去什么(缩放和名称冲突)
--名称到容器名称 — 您获得什么(可预测的名称)和您失去什么(缩放和名称冲突)。停在重启命名异常处而不是猜测。任何靠近重新启动容器名称主机名的添加都需要与守护程序和名称冲突相关的特定于部署的原因。
另一个重启策略异常约束是, 一个单独的重启策略异常边界是不推断健康恢复 dependent_on 和 Orchestrator 策略。证据:健康恢复depends_on和orchestrator策略没有被推断出来。保留警告旁边的原始重新启动命名命令。该比较显示了重新启动容器名称主机名包含的内容以及哪些守护程序和名称冲突决策仍然是手动的。
--hostname to hostname — 容器内的名称,与 Compose 为服务提供的 DNS 名称不同
--hostname to hostname — 容器内的名称,与 Compose 为服务提供的 DNS 名称不同。从合成名称构建重新启动命名示例。使每个重新启动的container_name主机名项都可追踪,而不会暴露生产守护程序和名称冲突详细信息。
相同的重启策略示例示例表明,单独的重启策略示例边界是小的操作标志成为显式可审查键。证据:小的操作标志成为明确的可审查键。配对的重新启动命名事实应该在重新启动容器名称主机名中可见。记录该行并避免有关守护程序和名称冲突的假设。
工作示例:转换家庭自动化容器的命令 - 并排重新启动、名称、主机名和网络设置
工作示例:并排转换家庭自动化容器的命令 - 重新启动、名称、主机名和网络设置。将重新启动命名结果转换为一个可观察到的重新启动容器名称主机名差异。 Docker 拥有后来的守护进程和名称冲突裁决。
重启策略结果实现还显示了一个单独的重启策略效果边界,即省略 --restart 会从服务中删除该命令提供的策略。分割重启命名职责:转换写入重启container_name主机名,存储库删除秘密,操作员验证守护进程和名称冲突。
这不包括什么——基于健康检查的重启、取决于 Swarm 或 Kubernetes 中的排序和编排重启
这不包括什么 - 基于运行状况检查的重启、取决于 Swarm 或 Kubernetes 中的排序和编排重启。限制重新启动命名范围以重新启动此处显示的 container_name 主机名分支。相邻的表单和默认值无法回答守护程序和名称冲突问题。
另一个重新启动策略范围限制来自单独的重新启动策略限制边界,即最后一个重新启动值获胜,并且失败计数收到可移植性说明。将此重新启动命名边界视为排除项。与猜测守护进程和名称冲突相比,更喜欢准确的重新启动容器名称主机名。
要点:小标志具有操作意义 - 转换器将它们保留为您可以查看的显式键
要点:小标志具有操作意义 - 转换器将它们保留为您可以查看的显式键。审核重新启动命名为源选项、模型字段、重新启动容器名称主机名行和警告。在检查守护进程和名称冲突之前删除机密。
最后,重启策略外卖源确认了一个单独的重启策略决策边界是守护进程启动行为不是通过转换来模拟的。狭义关闭重启命名:重启容器名主机名是候选;不保证守护进程和名称冲突以及 shell 等效性。