服务器相关的 YAML 常用语法,其实就是 YAML 本身的通用语法,但在服务器配置里(如 Kubernetes、Docker Compose、Ansible、CI/CD 等)有一些高频出现的结构和写法。下面按「基础语法 → 服务器常见用法 → 示例」来说明。
name: nginx
或
name: "nginx"
多行字符串:
description: >
这是一段描述,
会自动合并成一行。
script: |
echo "start"
echo "done"
port: 8080
replicas: 3
enabled: true
debug: false
ports:
- 80
- 443
containers:
- name: app
image: nginx
server:
host: 127.0.0.1
port: 8000
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.25
ports:
- containerPort: 80
✅ 用于:Kubernetes、Docker Compose、CI/CD
server:
dev:
host: localhost
port: 8080
prod:
host: 192.168.1.10
port: 80
image: ${IMAGE_NAME}
version: ${VERSION}
不同工具支持方式不同(Ansible / Helm / GitHub Actions)
timeout:
或
timeout: ~
# 这是注释
port: 80 # 端口号
version: "3.9"
services:
web:
image: nginx
ports:
- "80:80"
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deploy
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
- hosts: webservers
tasks:
- name: install nginx
apt:
name: nginx
state: present
key: value # 不能用 Tab
key:value
✅ 正确:
key: value
| 类型 | 写法 |
|---|---|
| 字符串 | name: nginx |
| 多行 | | 或 > |
| 列表 | - item |
| 对象 | key: value |
| 层级 | 缩进 |
| 注释 | # |
如果你愿意,我也可以:
你主要用在哪个场景?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。