Docker Swarm 集群入门
## Swarm 是什么
Docker Swarm 是 Docker 自带的容器编排工具。和 Kubernetes 比,它极其简单,学习成本只有 K8s 的十分之一。对于个人开发者和中小团队,Swarm 足够用了。
## 核心概念
- **Manager 节点**:管理集群状态,调度服务
- **Worker 节点**:运行容器
- **Service**:定义要运行的服务
- **Stack**:一组服务的集合(类似 docker-compose.yml)
## 初始化集群
```bash
docker swarm init --advertise-addr 192.168.1.10
# Worker 节点执行输出的 join 命令
docker swarm join --token SWMTKN-xxx 192.168.1.10:2377
docker node ls
```
## 部署服务
```bash
docker service create --name web --replicas 3 --publish published=80,target=80 nginx:alpine
docker service ls
docker service scale web=5
docker service update --image nginx:latest web
```
## 使用 Stack 部署(推荐)
创建 `stack.yml`,然后用 `docker stack deploy -c stack.yml myapp` 部署。
## Swarm vs Kubernetes
| 特性 | Docker Swarm | Kubernetes |
|------|-------------|-----------|
| 学习曲线 | 低 | 高 |
| 安装 | 内置 Docker | 需要额外安装 |
| 配置复杂度 | 简单 | 复杂 |
| 适合规模 | 3-10 节点 | 10+ 节点 |
## 实用技巧
**配置文件管理**:`docker config create nginx-conf ./nginx.conf`
**密钥管理**:`echo "mypassword" | docker secret create db_password -`
Swarm 是 Docker 生态里最被低估的功能。对于个人和小团队,它比 K8s 务实得多。
💬 暂无评论