用 YAML 编排容器,最常见、最主流的方式是通过 Kubernetes(k8s) 或 Docker Compose。下面分别说明,并给出可直接使用的示例。
version: "3.8"
services:
web:
image: nginx:1.25
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
app:
build: ./app
environment:
- ENV=dev
depends_on:
- db
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: rootpass
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
docker compose up -d
docker compose down
docker compose ps
✅ 适合:本地开发、测试、小型服务
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.25
ports:
- containerPort: 80
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deploy
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.25
ports:
- containerPort: 80
apiVersion: v1
kind: Service
metadata:
name: nginx-svc
spec:
selector:
app: nginx
ports:
- port: 80
targetPort: 80
type: ClusterIP
kubectl apply -f deploy.yaml
kubectl get pods
kubectl logs <pod>
kubectl delete -f deploy.yaml
| 要素 | 说明 |
|---|---|
| image | 容器镜像 |
| ports | 端口映射 |
| volumes | 数据持久化 |
| environment | 环境变量 |
| depends_on / affinity | 依赖关系 |
| replicas | 副本数 |
| resources | CPU / 内存限制 |
如果你愿意,可以告诉我:
我可以直接帮你写一份可用的 YAML。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。