YAML配置格式的“隐形陷阱“

YAML配置格式的"隐形陷阱"

注意yaml文件的空格不可以用缩进符来代替,有严格的控制可以采用yamllin组件来寻找错误示例

表面正常的配置

services:
kafka:
environment:KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 # 缺失空格
ports:“9092:9092” # 错误缩进
系统化排查流程
语法验证工具

安装校验工具yamllin

1 命令行修改
Bash

 pip install yamllint  # 检查配置文件
 yamllint docker-compose.yml

2 可视化排查在vscode使用插件
使用VSCode的YAML插件查看隐藏字符:
TEXT

services:↵
▪▪kafka:↵
▪▪▪▪image:▌confluentinc/cp-kafka:7.0.1↵

^ 此处显示红色波浪线提示
3 增量调试技巧
分阶段启动服务验证配置:

docker-compose up -d zookeeper  # 先启动单服务
docker-compose logs -f zookeeper | grep -i 'binding to port'

典型错误对照表

错误提示 实际原因 修正示例
mapping values are not allowed 冒号后缺少空格 ports: “9092:9092”
did not find expected key 使用Tab缩进 替换为4个空格
service undefined 顶层services拼写错误 检查services:拼写

好了yaml配置格式的解决方案就到这里了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值