在 Ubuntu 上使用 Docker 搭建集群,通常有两种主流方式:
下面我分别说明,最常用的是 Docker Swarm,先重点讲。
sudo apt update
sudo apt install docker.io -y
sudo systemctl enable --now docker
选一台作为 Manager:
docker swarm init --advertise-addr <manager-ip>
示例:
docker swarm init --advertise-addr 192.168.1.10
输出中会包含:
docker swarm join --token SWMTKN-... 192.168.1.10:2377
在其他 Ubuntu 机器上执行:
docker swarm join --token SWMTKN-... 192.168.1.10:2377
docker node ls
docker service create --replicas 3 --name web -p 80:80 nginx
查看服务:
docker service ls
docker service ps web
✅ 优点:简单、原生、适合中小集群
❌ 缺点:功能不如 Kubernetes 强
sudo apt install docker.io -y
sudo apt install -y kubelet kubeadm kubectl
sudo systemctl enable docker
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
配置 kubectl:
mkdir -p $HOME/.kube
sudo cp /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
sudo kubeadm join <master-ip>:6443 --token xxx --discovery-token-ca-cert-hash sha256:xxx
kubectl get nodes
| 场景 | 推荐 |
|---|---|
| 学习 / 小项目 | Docker Swarm |
| 生产 / 大规模 | Kubernetes |
| 单机多容器 | Docker Compose |
如果你愿意,可以告诉我:
我可以直接给你一套可复制的命令方案。