返回顶部
首页 > 资讯 > 精选 >Docker中 Swarm如何使用
  • 949
分享到

Docker中 Swarm如何使用

2023-06-15 21:06:09 949人浏览 独家记忆
摘要

这期内容当中小编将会给大家带来有关Docker中 Swarm如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Swarm本身就是“群”的意思,人群、蜂群。这里就是指计算机集群(cluster)在用Do

这期内容当中小编将会给大家带来有关Docker中 Swarm如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Swarm本身就是“群”的意思,人群、蜂群。这里就是指计算机集群(cluster)在用Docker连接后的状态。docker swarm命令可以创建、加入、离开一个集群。

node就是计算机节点,也可以认为是一个Docker节点。Node分为两类:Manager和Worker。一个Swarm至少要有一个Manager,部分管理命令只有在Manager上才能使用。两类Node都可以运行Service,但只有Manager上才能执行运行命令。比如,在Manager才能使用docker node命令可以查看、配置、删除Node。

Stack是一组Service,和docker-compose类似。默认情况下,一个Stack共用一个Network,相互可访问,与其它Stack网络隔绝。这个概念只是为了编排的方便。docker stack命令可以方便地操作一个Stack,而不用一个一个地操作Service。

Service是一类容器。对用户来说,Service就是与Swarm交互的最核心内容。Service有两种运行模式,一是replicated,指定一个Service运行容器的数量;二是global,在所有符合运行条件的Node上,都运行一个这类容器。docker service命令可以操作Swarm中的Service。

Task就是指运行一个容器的任务,是Swarm执行命令的最小单元。要成功运行一个Service,需要执行一个或多个Task(取决于一个Service的容器数量),确保每一个容器都顺利启动。通常用户操作的是Service,而非Task。

Load balancing即负载均衡,也包含反向代理。Swarm使用的是Ingress形式的负载均衡,即访问每个节点的某个Published端口,都可自动代理到真正的服务。大致原理如下图所示。

Docker中 Swarm如何使用

ingress network

Replicated Mode

services:    some-serivce:      ...      deploy:        mode: replicated        replicas: 3

默认情况下,mode就是replicated,所以这行可以省略。默认replicas数目为1,代表这个Service只启动1个容器。这个模式,可以按需启动多个服务,Swarm会自动调节,有时一个Node会启动多个容器。

Global Mode

services:    some-serivce:      ...      deploy:        mode: global        placement:          ...

所有可部署的Node,都部署一个。通过placement,可以限定满足条件的Node,而避免在不合适的Node进行部署。

操作

这里列出一些常用的具体操作。

创建第一个Node

docker swarm init --advertise-addr $IP

$IP是当前Node的外部可访问IP,便于其它Node寻址。

这样,一个Swarm就被初始化完成了,它仅有一个Manager节点。

添加新的Node到Swarm

在Manager节点,执行以下命令可查看到如何加入一个Node:

$ docker swarm join-token manager  To add a manager to this swarm, run the following command:      docker swarm join --token SWMTKN-1-2zspelk468gb6wgw5adea4wlbw4kfy3q1uhr86zpafl9m5a3ho-ezs4fylj526e801b3cl0pojr5 10.174.28.52:2377  $ docker swarm join-token worker  To add a worker to this swarm, run the following command:      docker swarm join --token SWMTKN-1-2zspelk468gb6wgw5adea4wlbw4kfy3q1uhr86zpafl9m5a3ho-164iqklrfv8o3t55g088hylyk 10.174.28.52:2377

在一个未加入任何Swarm的机器上,执行以上显示的命令docker swarm join --token ..., 即可成为这个Swarm的Manage或Worker节点。

设置节点Label

在Manager节点,可以对任意节点设置标签:

docker node update $node_name --label-add main=true

$node_name就是要设置节点的ID或HOSTNAME。Label是键值对形式,main=true中的main就是键、true就是值。

设置了Label以后,在Compose文件中就可以用placement中的constraints来对可用节点作出限制。

services:    some-serivce:      ...      deploy:        placement:          constraints:            - node.labels.main == true        ...

以上配置,让some-service仅在Label被设置为main=true的节点,才能使用。

启动、停止服务

docker stack deploy $stack_name -c docker-compose.yaml -c other.yaml ...

$stack_name是Stack名称。可以用-c指定多个docker-compose文件,也可在相同Stack下分批次deploy多个文件。这些YAML文件的写法,和原先用docker-compose命令执行的没有本质区别,只是多加了以下独特配置,并且会忽略一些Swarm场景下不支持的配置。

推荐使用docker-compose文件来编排Stack,而非直接用docker service create来手工创建。详细配置项,可参考《Compose file version 3 reference | Docker Documentation》。

需要停止Stack的所有服务时,可以执行以下命令。

docker stack rm $stack_name

更新已运行服务的镜像

docker service update --image $image:$tag $service_name

上述就是小编为大家分享的Docker中 Swarm如何使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: Docker中 Swarm如何使用

本文链接: https://lsjlt.com/news/281619.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Docker中 Swarm如何使用
    这期内容当中小编将会给大家带来有关Docker中 Swarm如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Swarm本身就是“群”的意思,人群、蜂群。这里就是指计算机集群(cluster)在用Do...
    99+
    2023-06-15
  • Docker中swarm怎么用
    这篇文章给大家分享的是有关Docker中swarm怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。swarm 三台虚拟机 132,133,134初始化一个集群 并把自己加入集群中# 初始化主节点do...
    99+
    2023-06-25
  • Docker swarm 简单使用教程
    swarm 三台虚拟机 132,133,134 1.初始化一个集群 并把自己加入集群中 # 初始化主节点 docker swarm init --advertise-addr 1...
    99+
    2024-04-02
  • 如何分析docker + swarm集群
    这篇文章主要为大家分析了如何分析docker + swarm集群的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“如何分析docker + swarm集群”的知...
    99+
    2023-06-28
  • 如何使用Docker Swarm搭建分布式爬虫集群
    今天小编给大家分享一下如何使用Docker Swarm搭建分布式爬虫集群的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获...
    99+
    2024-04-02
  • 使用Docker Swarm搭建Wordpress的案例
    小编给大家分享一下使用Docker Swarm搭建Wordpress的案例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!使用 Docker Swarm 搭建 Wordpress起因我曾经把 wordpress 搭建在 Vu...
    99+
    2023-06-14
  • 怎么在docker中运行docker swarm模式
    这篇文章将为大家详细讲解有关怎么在docker中运行docker swarm模式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。安装docker使用yum安装更新yum源,sudo yum u...
    99+
    2023-06-07
  • Docker的引擎Swarm怎么用
    这篇文章主要介绍了Docker的引擎Swarm怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker的引擎Swarm怎么用文章都会有所收获,下面我们一起来看看吧。Swarm是Docker公司推出的用来...
    99+
    2023-06-27
  • Docker Swarm常用操作有哪些
    本篇内容主要讲解“Docker Swarm常用操作有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker Swarm常用操作有哪些”吧!Docker Swarm 是 Docker 的集...
    99+
    2023-06-27
  • Docker Swarm在持续集成测试中怎么应用
    这篇文章主要介绍了Docker Swarm在持续集成测试中怎么应用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker Swarm在持续集成测试中怎么应用文章都会有所收获...
    99+
    2024-04-02
  • docker中如何使用helm
    这篇文章将为大家详细讲解有关docker中如何使用helm,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。    在k8s中,我们对无状态应用如nginx、myapp...
    99+
    2023-06-04
  • Docker API如何在Golang中使用
    Docker API如何在Golang中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。安装 SDK通过下面的命令就可以安装 SDK 了:go get g...
    99+
    2023-06-14
  • 如何在Ubuntu16.04中使用Docker Compose
    本篇内容主要讲解“如何在Ubuntu16.04中使用Docker Compose”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在Ubuntu16.04中使用Docker Compose”吧!...
    99+
    2023-06-28
  • docker如何使用GPU
    这篇文章将为大家详细讲解有关docker如何使用GPU,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。下载tf-gpu在docker hub里选择要下载的tf版本(注意选带GPU和py3的)https://...
    99+
    2023-06-25
  • Docker Hub如何使用
    本文小编为大家详细介绍“Docker Hub如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Docker Hub如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Docker Hub是一个基于云的存储...
    99+
    2023-06-27
  • 如何在docker中使用create命令
    这篇文章将为大家详细讲解有关如何在docker中使用create命令,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。创建容器docker create -it -...
    99+
    2023-06-14
  • Docker中如何使用Compose部署ELK
    这篇文章给大家介绍Docker中如何使用Compose部署ELK,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.1定义对于大规模的日志,需要集中化的管理。而ELK提供了一整套解决方案,并且都是开源软件,之间互相配合使...
    99+
    2023-06-20
  • Docker中如何使用私有仓库
    在Docker中使用私有仓库,可以通过以下步骤实现: 部署私有仓库:首先需要在服务器上部署私有仓库,可以使用Docker官方提供...
    99+
    2024-04-02
  • docker中安装mysql后如何使用
    要在Docker中安装并使用MySQL,您可以按照以下步骤操作: 拉取MySQL镜像:在终端中运行以下命令来拉取MySQL官方镜像...
    99+
    2024-04-27
    docker mysql
  • Docker中Swarm服务发现和负载均衡原理分析
    小编给大家分享一下Docker中Swarm服务发现和负载均衡原理分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!使用的技术docker 使用了 linux 内核 iptables 和 ipvs 的功能来实现服务发现和负载...
    99+
    2023-06-07
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作