温馨提示×

ubuntu docker怎样集群部署

小樊
40
2026-09-04 11:41:33
栏目: 智能运维

在 Ubuntu 上做 Docker 集群部署,常见方案有两种:

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

下面分别说明,并给出实操步骤


一、Docker Swarm 集群(推荐入门)

1. 环境准备

  • 多台 Ubuntu(≥2 台)
  • 已安装 Docker(20.10+)
# 每台机器安装 Docker
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker

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

主节点 执行:

sudo docker swarm init --advertise-addr <主节点IP>

输出类似:

docker swarm join --token SWMTKN-... <主节点IP>:2377

3. 工作节点加入集群

其他节点 执行:

sudo docker swarm join --token SWMTKN-... <主节点IP>:2377

4. 查看集群状态

sudo docker node ls

5. 部署服务(示例)

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

6. 常用命令

docker service ls
docker service scale web=5
docker service logs web

✅ 适合:中小项目、快速部署


二、Kubernetes 集群(生产级)

方式一:kubeadm(官方推荐)

1. 所有节点

sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker

# 安装 kubeadm kubelet kubectl
sudo apt install -y apt-transport-https ca-certificates curl
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt update
sudo apt install -y kubelet kubeadm kubectl

2. 主节点初始化

sudo kubeadm init --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /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. 工作节点加入

kubeadm join <主节点IP>:6443 --token xxx --discovery-token-ca-cert-hash sha256:xxx

5. 验证

kubectl get nodes

✅ 适合:大规模、高可用、微服务


三、方案对比

方案 难度 适合场景
Docker Swarm 快速集群、小项目
Kubernetes ⭐⭐⭐⭐ 企业生产环境

四、常见补充

  • 多管理节点(Swarm / K8s 高可用)
  • 使用 docker-compose + swarm
  • 负载均衡(Nginx / Traefik)
  • 数据持久化(Volume / NFS)

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

  • 几台服务器?
  • 是否生产环境?
  • 用 Swarm 还是 K8s?

我可以给你专属部署方案 + 示例配置文件

0