了解Swarm集群

Swarm是一组运行Docker并加入到集群中的机器。发生这种情况后,您将继续运行您习惯的Docker命令,但现在它们将由群集管理器在群集上执行。群体中的机器可以是物理的或虚拟的。加入群体后,他们被称为节点。
Swarm管理人员可以使用多种策略来运行容器,例如“最空节点” - 它可以使用容器填充使用率最低的机器。或者“全局”,它确保每台机器只获取指定容器的一个实例。您指示swarm经理在Compose文件中使用这些策略,就像您已经使用的策略一样。
群体管理者是群体中唯一可以执行你的命令的机器,或者授权其他机器作为工作者加入群体。工人只是在那里提供能力,并没有权力告诉任何其他机器可以做什么和不可以做什么。
到目前为止,您已经在本地机器上以单主机模式使用Docker。但是Docker也可以切换到群集模式,这就是使用群集的原因。立即启用群模式使当前的机器成为群管理器。从此,Docker将运行您在您管理的群集上执行的命令,而不仅仅是在当前机器上执行。

一、建立集群的准备

  • 1.一个群体由多个节点组成,可以是物理机器或虚拟机器。基本概念很简单:运行docker swarm init以启用群模式,并使您的当前机器成为群管理器,然后docker swarm join在其他机器上运行 ,让它们作为工人加入群体。选择下面的选项卡,看看它是如何在各种情况下发挥作用的。我们使用虚拟机快速创建一个双机群集,并将其变成群集。
    您需要一个可以创建虚拟机(VM)的虚拟机管理程序,因此请为您的计算机的操作系统安装。Oracle VirtualBox
  • 2.ubuntu下载安装virtualbox
sudo sh -c 'echo "deb http://download.virtualbox.org/virtualbox/debian xenial contrib" >> /etc/apt/sources.list.d/virtualbox.list'wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -sudo apt updatesudo apt install virtualbox-5.0
  • 3.安装Docker Machine
 base=https://github.com/docker/machine/releases/download/v0.14.0 &&curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&sudo install /tmp/docker-machine /usr/local/bin/docker-machine
  • 4 检查Docker Machine 安装是否成功
root@iZbp162mb58mqtz72o389nZ:~# docker-machine version
docker-machine version 0.14.0, build 89b8332
root@iZbp162mb58mqtz72o389nZ:~# 
  • 5 Docker Machine 安装bash完成脚本
    Machine存储库提供了几个bash可添加如下功能的脚本:
  • 命令完成
  • 一个在shell提示符下显示活动机器的函数
  • 一个函数包装器,它添加一个docker-machine use子命令来切换活动的机器
    确认版本并将脚本保存到/etc/bash_completion.d或 /usr/local/etc/bash_completion.d:
base=https://raw.githubusercontent.com/docker/machine/v0.14.0
for i in docker-machine-prompt.bash docker-machine-wrapper.bash docker-machine.bash
dosudo wget "$base/contrib/completion/bash/${i}" -P /etc/bash_completion.d
done
  • 然后你需要source /etc/bash_completion.d/docker-machine-prompt.bash在你的bash终端中运行,告诉你的设置在哪里可以找到docker-machine-prompt.bash你以前下载的文件 。
--2018-05-18 19:11:03--  https://raw.githubusercontent.com/docker/machine/v0.14.0/contrib/completion/bash/docker-machine.bash
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.228.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.228.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12205 (12K) [text/plain]
Saving to: '/etc/bash_completion.d/docker-machine.bash'docker-machine.bash  100%[===================>]  11.92K  --.-KB/s    in 0.009s  2018-05-18 19:11:04 (1.31 MB/s) - '/etc/bash_completion.d/docker-machine.bash' saved [12205/12205]root@iZbp162mb58mqtz72o389nZ:~/dockerMachine# source /etc/bash_completion.d/docker-machine-prompt.bash
root@iZbp162mb58mqtz72o389nZ:~/dockerMachine# 

要启用docker-machineshell提示符,请添加 $(__docker_machine_ps1)到您的PS1设置中~/.bashrc。

PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '
  • 6.如果要卸载Docker Machine
卸载Docker机器:
或者,删除您创建的机器。
要分别移除每台机器: docker-machine rm <machine-name>
要删除所有机器:( docker-machine rm -f $(docker-machine ls -q)您可能需要-force在Windows 上使用)。
例如,删除机器是可选步骤,因为有些情况下您可能想要将现有机器保存并迁移到Docker for Mac或Docker for Windows环境。
删除可执行文件: rm $(which docker-machine)
注意:作为信息点config.json,与创建的每个虚拟机相关的证书和其他数据docker-machine 存储在~/.docker/machine/machines/Mac和Linux上以及 ~\.docker\machine\machines\Windows上。我们建议您不要直接编辑或删除这些文件,因为这只会影响Docker CLI的信息,而不会影响实际的虚拟机,无论它们是本地还是远程服务器。

三、开始创建一个集群

1. 现在,docker-machine使用VirtualBox驱动程序创建几个VM :

查看一下各个需要的环境:

root@iZbp162mb58mqtz72o389nZ:~/dockerMachine# docker --version
Docker version 18.03.1-ce, build 9ee9f40
root@iZbp162mb58mqtz72o389nZ:~/dockerMachine# docker-machine --version
docker-machine version 0.14.0, build 89b8332
root@iZbp162mb58mqtz72o389nZ:~/dockerMachine# vboxmanage --version
5.0.40r115130

这本程序比较复杂。暂时不好解决问题。有解决了的请给我说下。

[root@iZbp162mb58mqtz72o389nZ ~]# docker-machine create --driver virtualbox myvm1
Running pre-create checks...
Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"
[root@iZbp162mb58mqtz72o389nZ ~]# 

涉及到的环境变量太多了。在此就不继续探讨了,这边有空再继续谈论吧。
主要的引用在这里:docker集群

Docker之旅:了解Swarm集群相关推荐

  1. Docker Swarm集群搭建

    Docker Swarm提供Docker容器集群服务,可以将多个Docker主机封装为单个单行的虚拟Docker主机,快速打造一套容器云平台. DockerSwarm提供很多新特性,如 具有容错能力的 ...

  2. Docker——阿里云搭建Docker Swarm集群

    阿里云搭建Docker Swarm集群 Docker Swarm概念 环境部署 Swarm集群搭建 安装Docker 配置阿里云镜像加速 搭建集群 Raft一致性算法 Swarm集群弹性创建服务(扩缩 ...

  3. docker swarm 集群服务编排部署指南(docker stack)

    Docker Swarm 集群管理 概述 Docker Swarm 是 Docker 的集群管理工具.它将 Docker 主机池转变为单个虚拟 Docker 主机,使得容器可以组成跨主机的子网网络.D ...

  4. 第20 章 Docker Swarm 集群实践

    Docker Swarm 集群实践 文章目录 Docker Swarm 集群实践 **Swarm介绍** **Swarm 特点** **Swarm架构** **Swarm关键概念** 1)Swarm ...

  5. docker swarm 集群搭建与服务更新

    title: "docker swarm 搭建与服务更新"date: 2021-12-15T17:54:53+08:00Description: ""Tags: ...

  6. 使用Docker Swarm模式搭建Swarm集群

    转载:https://www.jianshu.com/p/df744c4e375e 目录 概述 创建和管理Swarm集群 Swarm集群的服务部署实践 1. 概述 Docker Swarm是原生的Do ...

  7. Swarm集群搭建( docker安装、docker-compose安装、portainer可视化安装、基本使用命令总结、项目集群部署案例)

    docker安装.docker-compose安装.Swarm集群搭建.portainer可视化安装.和项目部署案例 四台服务器,我这里选用四台虚拟机1核2G,系统centos7,ip:192.168 ...

  8. 正式环境docker部署hyperf_应用部署 - Docker Swarm 集群搭建 - 《Hyperf v1.1.1 开发文档》 - 书栈网 · BookStack...

    Docker Swarm 集群搭建 现阶段,Docker容器技术已经相当成熟,就算是中小型公司也可以基于 Gitlab.Aliyun镜像服务.Docker Swarm 轻松搭建自己的 Docker集群 ...

  9. Docker swarm集群详解(一)

    一.简介 Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源.Swarm和Ku ...

最新文章

  1. 计算机能力挑战赛是线上的吗,全国高校计算机能力挑战赛验证码识别竞赛一等奖调参经验分享...
  2. 算法与数据结构 -- 二叉树(六)
  3. ASP.NET Core 注册单例方案
  4. 用OmniPeek快速定义的过滤器来抓网页提交信息
  5. ip网络基础知识及原理_关于网络测试的5个命令
  6. 输入缓冲区对程序的影响及解决方法(多种语言都会出现)
  7. Spark Shuffle系列-----1. Spark Shuffle与任务调度之间的关系
  8. STC15W408读取HX711称重数据串口发送
  9. R第四章:基本数据管理
  10. 【HDOJ6986】Kanade Loves Maze Designing(暴力,dfs树)
  11. selenium 清空缓存
  12. 《计算复杂性与算法分析》和《计算复杂性》学习
  13. for..in loops iterate over the entire prototype chain
  14. 功能性模块:(7)检测性能评估模块(precision,recall等)
  15. 【ISO/IEC9126】ISO/IEC9126中软件质量模型品质介绍总结
  16. 飞凌OK6410、TE6410、FL6410 等ARM11 开发板的区别——非常详细哦
  17. LaTeX 插入PDF图片,该用哪个命令?
  18. 计算机主机通常包不包括硬盘,计算机主机通常包括
  19. DataGrip 初级与高级教程(仅提供链接)
  20. 把linux安装到u盘安装系统分区,将CentOS装入U盘制作成随身系统

热门文章

  1. 在LINUX上部署SOFA
  2. 某考试 T3 sine
  3. 获取context path或者basePath
  4. js中style.display=无效的解决方法
  5. spark streaming限制吞吐
  6. Spring(三)Bean继续入门
  7. 装机主板抽象工厂模式(Abstract Factory)
  8. 景观生态学概述[转载]
  9. 深度学习之----各种学习策略
  10. Tensorflow+Spyder+Opencv环境搭建