不喜欢广告? 无广告 今天

Docker Compose YAML 格式化工具

数据开发人员
广告 移除?

排版选项

广告 移除?

指导

Docker Compose YAML 格式化工具

Docker Compose YAML 格式化工具

docker-compose.yml 粘贴到输入区域,或点击其中一个示例链接以加载示例栈。 version 字段或传统 links,并在引发运行时故障之前警告关于未知服务选项。

如何使用

  1. 将您的 docker-compose.yml 输入到输入区域,或点击其中一个示例链接以加载示例堆栈。
  2. 选择键顺序—— Compose 约定 按 Compose 用户期望的顺序对服务进行排序(镜像、重启、环境变量、端口、卷……), 字母顺序 按严格字母顺序 A-Z 排序,或 保留 保持您原有的顺序。
  3. 选择 2 或 4 个空格的缩进,并开启或关闭 Compose 规范验证。
  4. 查看验证面板中的错误、已弃用键的警告以及关于隐式网络引用的信息提示。
  5. 复制结果或将其下载为 docker-compose.yml.

特征

  • Compose 规范验证 – 识别顶层 services, networks, volumes, configs, secrets, profiles, include,以及扩展字段(x-*);标记其他内容。
  • 弃用警告 – 突出显示旧版顶层 version 键, links, external_links,以及应移至 deploy.resources.
  • 服务感知的键排序 – 为每个服务重新排序,使标识键(image, build, container_name)位于最前,运行时配置(environment, ports, volumes)位于中间,操作相关配置(healthcheck, logging, deploy)位于最后。
  • 引用检查 – 检测依赖于未定义服务的服务,并在服务使用未在顶层声明的网络时发出警告。
  • 服务要求 – 验证每个服务至少包含一个 image, build, extends, 或者 provider,并且 restart 使用四种有效策略之一。
  • 端口 + 健康检查合理性检查 – 捕获格式错误的端口字符串、长格式端口中的缺失 target ,以及缺少 test.
  • 的健康检查。 三个工作示例
  • – 一个 Node + Postgres Web 应用,一个 WordPress + MySQL + Redis 栈,以及一个带有配置文件和资源限制的多服务构建。 本地 + 私有

常问问题

  1. – 所有解析、排序和验证均在您的浏览器中运行。您的 Compose 文件永远不会离开页面。

    为什么顶层 version 键已被弃用?

  2. version 键曾用于旧版 Compose v1、v2 和 v3,以选择 docker-compose CLI 的架构。当前的 Compose 规范将这些架构合并为一个持续演进的单一规范,因此版本声明不再有任何作用——最近的 Docker Compose 版本简单地忽略它并打印警告。移除该键可以缩小文件体积,并避免读者误以为 v3 特性受该声明限制而产生困惑。

    什么是 Compose 规范,它与旧版 Compose 文件格式有何不同?

  3. Compose 规范是取代了 2020 年前 Docker Compose 使用的各版本架构的开放、中立的架构规范。它由 github.com/compose-spec/compose-spec 维护,并被 Docker Compose、Podman Compose 等运行器实现。与 v2 和 v3 相比,该规范去除了 version 字段,将 services 作为唯一必需的顶层键,并将 Swarm 专属字段(如 deploy)作为可选元数据,供编排器消费。

    为什么更推荐使用共享网络而不是 links 关键字?

  4. links 是从 Docker 的网络时代之前继承而来的,仅在默认桥接网络上为容器之间设置 DNS 别名。现代用户定义网络已为每个服务提供自动基于服务名称的 DNS 解析,支持每个栈中的多个隔离网络,并允许通过 aliases 选项控制 DNS 别名。因此,Compose 规范将 links 标记为已弃用,并推荐使用显式网络成员身份。

    每个重启策略实际上做了什么?

  5. no 不会重启容器。always 在容器停止时(包括在守护进程重启后)始终重启容器。on-failure 仅在容器退出状态码非零时重启,可选地通过最大重试次数进行限制。unless-stopped 行为类似于 always,但一个在守护进程重启前被手动停止的容器将保持停止状态。这四个值是大小写敏感的字符串——任何其他值都将被 Compose 引擎拒绝。

    Compose 如何决定是拉取还是构建镜像?

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?