温馨提示×

ubuntu docker怎样建集群

小樊
41
2026-10-19 00:17:22
栏目: 智能运维

在 Ubuntu 上使用 Docker 搭建集群,通常有两种主流方式:

  1. Docker Swarm(官方原生,简单易用)
  2. Kubernetes(更强大,生产级,稍复杂)

下面我分别说明,最常用的是 Docker Swarm,先重点讲。


一、使用 Docker Swarm 搭建集群(推荐入门)

1. 准备环境

  • 多台 Ubuntu 服务器(≥2 台)
  • 每台都安装 Docker
sudo apt update
sudo apt install docker.io -y
sudo systemctl enable --now docker

2. 初始化 Swarm(在管理节点)

选一台作为 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

3. 工作节点加入集群

在其他 Ubuntu 机器上执行:

docker swarm join --token SWMTKN-... 192.168.1.10:2377

4. 查看集群节点

docker node ls

5. 部署服务(示例)

docker service create --replicas 3 --name web -p 80:80 nginx

查看服务:

docker service ls
docker service ps web

✅ 优点:简单、原生、适合中小集群
❌ 缺点:功能不如 Kubernetes 强


二、使用 Kubernetes(kubeadm)搭建集群(生产级)

1. 所有节点安装 Docker + kubeadm

sudo apt install docker.io -y
sudo apt install -y kubelet kubeadm kubectl
sudo systemctl enable docker

2. Master 节点初始化

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

3. 安装网络插件(Flannel)

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

4. Worker 节点加入

sudo kubeadm join <master-ip>:6443 --token xxx --discovery-token-ca-cert-hash sha256:xxx

5. 查看节点

kubectl get nodes

三、选择建议

场景 推荐
学习 / 小项目 Docker Swarm
生产 / 大规模 Kubernetes
单机多容器 Docker Compose

如果你愿意,可以告诉我:

  • 是 几台机器
  • 是否 生产环境
  • 用 Swarm 还是 K8s

我可以直接给你一套可复制的命令方案。

0 踩