首页主机资讯Debian Docker集群怎么搭建

Debian Docker集群怎么搭建

时间2025-12-15 14:53:04发布访客分类主机资讯浏览1002
导读:在 Debian 上搭建 Docker Swarm 集群 一 架构与准备 准备至少3 台运行 Debian 的服务器(建议 1 台管理节点 + 2 台工作节点,管理节点可扩展为多个以实现高可用)。 节点间网络需互通,管理节点 IP 固定且...

在 Debian 上搭建 Docker Swarm 集群

一 架构与准备

  • 准备至少3 台运行 Debian 的服务器(建议 1 台管理节点 + 2 台工作节点,管理节点可扩展为多个以实现高可用)。
  • 节点间网络需互通,管理节点 IP 固定且可达。
  • 建议在所有节点配置 /etc/hosts 或使用 DNS 做主机名解析,便于维护。
  • 开放必要端口:2377/tcp(集群管理)、7946/tcp 与 7946/udp(节点通信)、4789/udp(Overlay 网络)。

二 安装 Docker

  • 在所有节点执行以下命令安装 Docker(Debian 官方仓库或 Docker 官方仓库均可,二选一):
    • 方案 A(Debian 仓库):
      sudo apt update
      sudo apt install -y docker.io
      sudo systemctl start docker & & sudo systemctl enable docker
    • 方案 B(Docker 官方仓库,版本更新):
      sudo apt-get update
      sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
      curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
      sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable”
      sudo apt-get update
      sudo apt-get install -y docker-ce docker-ce-cli
      sudo systemctl start docker & & sudo systemctl enable docker
      sudo usermod -aG docker $USER # 可选:将当前用户加入 docker 组,免 sudo 执行 docker 命令
  • 验证:docker version、docker info 正常输出。

三 初始化 Swarm 并加入节点

  • 在管理节点初始化 Swarm(将 < MANAGER_IP> 替换为管理节点内网/公网 IP):
    sudo docker swarm init --advertise-addr < MANAGER_IP>
    成功后控制台会输出加入命令,形如:
    docker swarm join --token < MANAGER_IP> :2377
  • 在工作节点执行上条命令加入集群:
    docker swarm join --token < MANAGER_IP> :2377
  • 如需添加更多管理节点,在管理节点执行:
    docker swarm join-token manager
    按提示在目标节点执行输出的 join 命令。
  • 在管理节点查看节点状态:
    docker node ls
  • 常用维护:
    • 查看集群信息:docker info
    • 重新获取加入令牌(worker 或 manager):docker swarm join-token worker|manager

四 部署服务与网络

  • 部署示例服务(创建 3 个 Nginx 副本,集群内部端口 80 映射到节点主机端口 8080):
    docker service create --name web --replicas 3 -p 8080:80 nginx
  • 查看服务与任务:
    docker service ls
    docker service ps web
  • 访问验证:浏览器访问任一节点的 http://< 节点IP> :8080
  • 网络说明:Swarm 初始化后会自动创建 overlay 驱动ingress 网络(用于服务发布与路由)和 bridge 驱动docker_gwbridge 网络(用于节点间连接)。如需自定义 Overlay 网络:
    docker network create -d overlay my_overlay

五 可视化管理与运维建议

  • 可视化:部署 Portainer 管理集群。
    • 单机模式(管理节点本地管理):
      docker run -d -p 8000:8000 -p 9443:9443 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data --name portainer --restart=always portainer/portainer-ce:latest
      访问 https://< 管理节点IP> :9443
    • 集群模式(Agent 方式):使用官方提供的 portainer-agent-stack.yml 部署,在管理节点执行:
      curl -L https://downloads.portainer.io/ce2-19/portainer-agent-stack.yml -o portainer-agent-stack.yml
      docker stack deploy -c portainer-agent-stack.yml portainer
  • 运维要点:
    • 防火墙放行端口:2377/tcp、7946/tcp/udp、4789/udp;云服务器需同时放通安全组规则。
    • 建议为管理节点配置 静态 IP 或稳定的 –advertise-addr
    • 需要高可用时,部署多个管理节点并定期备份集群状态。
    • 日志与监控:集中采集容器日志,按需接入 Prometheus + Grafana

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian Docker集群怎么搭建
本文地址: https://pptw.com/jishu/771686.html
Debian Docker常见问题有哪些 如何用C++在Linux下处理字符串

游客 回复需填写必要信息