Docker Swarm

本文详细介绍如何使用 Docker Swarm 模式搭建和管理集群,包括创建管理节点和工作节点,以及如何部署服务并实现自动负载均衡。通过简单的命令操作即可完成集群的搭建与扩展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker swarm 官方文档

Docker swarm 中文文档

Docker swarm 集群快速安装
 
Docker swarm 相关资料,可参考

1. 创建swarm集群
1) 创建管理节点
[root@dockersrv1 media]# docker swarm init --advertise-addr 10.128.223.231
Swarm initialized: current node (puztgxfzddwdcr66cg1y9ccbw) is now a manager.
 
To add a worker to this swarm, run the following command:
 
    docker swarm join \
    --token SWMTKN-1-5fb1qvx43uszi8d2jw6f5upomjqdphscogpkexun2oi4cb3zn0-4s3fazjinrbffg3up71mf7d4v \
    10.128.223.231:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
2) 在集群中添加子节点
复制上面的token信息
[root@dockersrv2 media]# docker swarm join \
      --token SWMTKN-1-5fb1qvx43uszi8d2jw6f5upomjqdphscogpkexun2oi4cb3zn0-4s3fazjinrbffg3up71mf7d4v \
     10.128.223.231:2377
This node joined a swarm as a worker.

3) 查看swarm集群
docker node ls


搭建Docker原生Swarm集群视频课程
Docker Swarm Mode
=================

Docker Engine(v1.12.0+)原生支持集群功能(Swarm Mode).
与Kubernetes比较, 发现Docker Swarm Mode非常简单易用.
通过几条Docker命令, 就可以快速搭建一个功能完善的集群.
只需要两台机器, 就可以搭建Swarm集群, 大大降低学习成本.

把Service部署到Swarm集群中, 根据情况随时Scale Up/Down.
自动会把Task分散到多台机器运行, 出现问题后会自动迁移.
整个迁移过程, 不需要人为干预, 极大减轻运维负担.

Docker Swarm Mode是新添加的功能, 还有些不完善的地方.
作为Docker原生支持的功能, 在今后会不断改进, 逐步完善.

01.介绍Swarm模式
02.安装Docker软件
03.罗列Swarm功能
04.介绍关键概念
05.创建Swarm集群
06.管理集群节点
07.部署集群服务
08.服务Scale Up/Down
09.滚动更新服务
10.更新节点状态
11.创建Overlay网络
12.集群服务发现
13.集群运维管理
14.结束语

15.负载均衡

### Docker Swarm 容器编排使用指南 #### 启动并初始化 Swarm 模式集群 为了启动一个 Swarm 集群,需要先确保 Docker 引擎版本不低于 1.12.0[^1]。通过执行命令 `docker swarm init` 来初始化一个新的 Swarm 群集,在此之后可以查看节点状态。 ```bash $ docker swarm init --advertise-addr <MANAGER-IP> Swarm initialized: current node (dxn1zf8p6m9vrzv4jk51g7bwi) is now a manager. ``` #### 添加工作节点到 Swarm 中 一旦有了管理节点,就可以向其中加入工作者节点了。这一步骤可以通过获取上一操作返回的令牌来完成,或者利用 `docker swarm join-token worker` 获取最新的令牌信息,并将其提供给目标机器上的 Docker Daemon: ```bash $ docker swarm join --token SWMTKN-1-... 192.168.1.100:2377 This node joined a swarm as a worker. ``` #### 创建和部署服务栈 创建好 Swarm 集群后,便能够定义应用程序的服务描述文件(通常是 YAML 格式的 Compose 文件)。接着借助于 `docker stack deploy` 命令依据该配置文件中的设定发布整个应用堆栈[^2]。 ```yaml version: '3' services: web: image: nginx ports: - "80:80" redis: image: redis ``` ```bash $ docker stack deploy -c docker-compose.yml mystack Creating network mystack_default Creating service mystack_web Creating service mystack_redis ``` #### 查看运行状况和服务列表 要监控当前 Swarm 上正在运作的服务以及它们的状态,可运用如下指令: ```bash $ docker service ls ID NAME MODE REPLICAS IMAGE PORTS qjdvkrrhbxr mystack_web replicated 1/1 nginx:latest *:80->80/tcp yf0w3u5tqozi mystack_redis replicated 1/1 redis:latest ``` #### 更新现有服务或删除不再需要的服务 当有变更需求时,比如调整副本数量或是替换镜像标签,则只需修改对应的 compose 文件再重复一次 `docker stack deploy` 的过程即可实现平滑升级;而移除某个特定的应用则可通过指定其名称调用 `docker stack rm` 实现。 ```bash $ docker stack rm mystack Removing service mystack_web Removing service mystack_redis Removing network mystack_default ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值