如何在 Ubuntu 16.04 上使用 Docker Swarm 和 DigitalOcean 创建 Docker 容器集群
本帖最后由 Shaw0xyz 于 2024-5-26 12:55 编辑Docker Swarm 是 Docker 提供的原生集群管理工具,能够轻松地将多个 Docker 主机组合成一个集群。DigitalOcean 是一个流行的云服务提供商,提供简便的虚拟机管理。本文将详细介绍如何在 Ubuntu 16.04 上使用 Docker Swarm 和 DigitalOcean 创建 Docker 容器集群。
1. 准备工作
1.1 安装 Docker
在所有节点上安装 Docker。首先,更新现有的软件包索引。
sudo apt-get update
接着,安装 Docker。
sudo apt-get install -y docker.io
安装完成后,启动 Docker 并设置开机自启动。
sudo systemctl start docker
sudo systemctl enable docker
1.2 创建 DigitalOcean 账户和 API 密钥
如果还没有 DigitalOcean 账户,请前往 (https://www.digitalocean.com) 注册账户。注册后,生成一个 API 密钥,用于通过 DigitalOcean API 创建和管理虚拟机(Droplets)。
1.3 安装 Docker Machine
Docker Machine 是 Docker 提供的用于在多种环境中创建和管理 Docker 主机的工具。首先,下载 Docker Machine 的二进制文件。
curl -L <a href="https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-" target="_blank">https://github.com/docker/machin ... 6.2/docker-machine-</a>$(uname -s)-$(uname -m) > /tmp/docker-machine
接着,将 Docker Machine 移动到 `/usr/local/bin` 目录并赋予执行权限。
sudo mv /tmp/docker-machine /usr/local/bin/docker-machine
sudo chmod +x /usr/local/bin/docker-machine
2. 创建 Docker Swarm 集群
2.1 使用 Docker Machine 创建 Droplets
利用 Docker Machine 和 DigitalOcean API 密钥创建 Droplets。
docker-machine create --driver digitalocean --digitalocean-access-token YOUR_DIGITALOCEAN_API_TOKEN manager
docker-machine create --driver digitalocean --digitalocean-access-token YOUR_DIGITALOCEAN_API_TOKEN worker1
docker-machine create --driver digitalocean --digitalocean-access-token YOUR_DIGITALOCEAN_API_TOKEN worker2
2.2 初始化 Swarm 管理节点
连接到管理节点并初始化 Swarm 集群。
docker-machine ssh manager
docker swarm init --advertise-addr $(docker-machine ip manager)
2.3 添加工作节点到 Swarm 集群
获取管理节点上的 Swarm 加入令牌。
docker swarm join-token worker
记下输出的命令,然后连接到每个工作节点并运行该命令。
docker-machine ssh worker1
docker swarm join --token SWMTKN-1-0aa...
docker-machine ssh worker2
docker swarm join --token SWMTKN-1-0aa...
2.4 验证集群状态
在管理节点上,运行以下命令验证集群状态。
docker node ls
3. 部署和管理服务
3.1 部署第一个服务
在管理节点上部署一个简单的服务。
docker service create --name hello-world --replicas 3 nginx
3.2 检查服务状态
查看服务的状态和分布情况。
docker service ls
docker service ps hello-world
3.3 扩展服务
可以轻松地扩展服务的副本数量,例如将副本数量增加到 5。
docker service scale hello-world=5
4. 维护和管理集群
4.1 更新服务
服务部署后,可以滚动更新服务镜像或配置。
docker service update --image nginx:latest hello-world
4.2 删除服务
删除不再需要的服务。
docker service rm hello-world
4.3 节点维护
将节点标记为不可调度,进行维护。
docker node update --availability drain worker1
维护完成后,恢复节点的调度状态。
docker node update --availability active worker1
5. 总结
通过本文的教程,您应该已经掌握了如何在 Ubuntu 16.04 上使用 Docker Swarm 和 DigitalOcean 创建 Docker 容器集群的基本步骤。从安装 Docker 和 Docker Machine,到创建 DigitalOcean Droplets,初始化 Swarm 集群,以及部署和管理服务,每一步都进行了详细的介绍。希望这些内容能够帮助您顺利构建并管理自己的 Docker Swarm 集群。
页:
[1]