Docker之旅:了解Swarm集群
了解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集群相关推荐
- Docker Swarm集群搭建
Docker Swarm提供Docker容器集群服务,可以将多个Docker主机封装为单个单行的虚拟Docker主机,快速打造一套容器云平台. DockerSwarm提供很多新特性,如 具有容错能力的 ...
- Docker——阿里云搭建Docker Swarm集群
阿里云搭建Docker Swarm集群 Docker Swarm概念 环境部署 Swarm集群搭建 安装Docker 配置阿里云镜像加速 搭建集群 Raft一致性算法 Swarm集群弹性创建服务(扩缩 ...
- docker swarm 集群服务编排部署指南(docker stack)
Docker Swarm 集群管理 概述 Docker Swarm 是 Docker 的集群管理工具.它将 Docker 主机池转变为单个虚拟 Docker 主机,使得容器可以组成跨主机的子网网络.D ...
- 第20 章 Docker Swarm 集群实践
Docker Swarm 集群实践 文章目录 Docker Swarm 集群实践 **Swarm介绍** **Swarm 特点** **Swarm架构** **Swarm关键概念** 1)Swarm ...
- docker swarm 集群搭建与服务更新
title: "docker swarm 搭建与服务更新"date: 2021-12-15T17:54:53+08:00Description: ""Tags: ...
- 使用Docker Swarm模式搭建Swarm集群
转载:https://www.jianshu.com/p/df744c4e375e 目录 概述 创建和管理Swarm集群 Swarm集群的服务部署实践 1. 概述 Docker Swarm是原生的Do ...
- Swarm集群搭建( docker安装、docker-compose安装、portainer可视化安装、基本使用命令总结、项目集群部署案例)
docker安装.docker-compose安装.Swarm集群搭建.portainer可视化安装.和项目部署案例 四台服务器,我这里选用四台虚拟机1核2G,系统centos7,ip:192.168 ...
- 正式环境docker部署hyperf_应用部署 - Docker Swarm 集群搭建 - 《Hyperf v1.1.1 开发文档》 - 书栈网 · BookStack...
Docker Swarm 集群搭建 现阶段,Docker容器技术已经相当成熟,就算是中小型公司也可以基于 Gitlab.Aliyun镜像服务.Docker Swarm 轻松搭建自己的 Docker集群 ...
- Docker swarm集群详解(一)
一.简介 Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源.Swarm和Ku ...
最新文章
- 计算机能力挑战赛是线上的吗,全国高校计算机能力挑战赛验证码识别竞赛一等奖调参经验分享...
- 算法与数据结构 -- 二叉树(六)
- ASP.NET Core 注册单例方案
- 用OmniPeek快速定义的过滤器来抓网页提交信息
- ip网络基础知识及原理_关于网络测试的5个命令
- 输入缓冲区对程序的影响及解决方法(多种语言都会出现)
- Spark Shuffle系列-----1. Spark Shuffle与任务调度之间的关系
- STC15W408读取HX711称重数据串口发送
- R第四章:基本数据管理
- 【HDOJ6986】Kanade Loves Maze Designing(暴力,dfs树)
- selenium 清空缓存
- 《计算复杂性与算法分析》和《计算复杂性》学习
- for..in loops iterate over the entire prototype chain
- 功能性模块:(7)检测性能评估模块(precision,recall等)
- 【ISO/IEC9126】ISO/IEC9126中软件质量模型品质介绍总结
- 飞凌OK6410、TE6410、FL6410 等ARM11 开发板的区别——非常详细哦
- LaTeX 插入PDF图片,该用哪个命令?
- 计算机主机通常包不包括硬盘,计算机主机通常包括
- DataGrip 初级与高级教程(仅提供链接)
- 把linux安装到u盘安装系统分区,将CentOS装入U盘制作成随身系统