docker maven,Docker之旅:了解Swarm集群

 2023-11-19 阅读 22 评论 0

摘要:了解Swarm集群 Swarm是一組運行Docker并加入到集群中的機器。發生這種情況后,您將繼續運行您習慣的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集群

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/183942.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息