Docker Swarm學習筆記二

2021-09-19 05:54:06 字數 2049 閱讀 4138

官方文件中演示時用到了五颱主機/虛擬機器;

這裡因為資源有限,只用三颱;

接下來的所有操作都是以root使用者進行的。

公升級軟體包(操作物件:manager0,node0,node1);

apt-get update && apt-get -y upgrade && apt-get -y install curl
安裝docker引擎(操作物件:manager0,node0,node1);

curl -ssl  | sh
配置並啟動docker引擎,令其監聽swarm節點的2375埠(操作物件:node0,node1

docker daemon -h tcp: -h unix:///var/run/docker.sock
前面已經列出了本次學習用到的三颱主機的主機名以及其ip位址,下面的操作用到的ip也是這三個主機ip。

拉取映象

docker pull progrium/consul
啟動發現後端

docker run -d -p 8500:8500 --name=consul progrium/consul -server -bootstrap
建立主管理員(操作物件:manager0

docker run -d -p 4000:4000 swarm manage -h :4000 --replication --advertise 192.168.2.56:4000 consul:
因為這裡的manager0既是主管理員又是發現服務後台,所以--advertiseconsul的ip都是192.168.2.56

配置節點(操作物件:node0,node1

# 操作物件:node0(ip:192.168.2.77)

docker run -d swarm join --advertise 192.168.2.77:2375 consul:

# 操作物件:node1(ip:192.168.2.129)

docker run -d swarm join --advertise 192.168.2.129:2375 consul:

獲取主管理員和各節點的資訊(操作物件:manager0):

docker -h :4000 info
在集群中執行容器(操作物件:manager0):

docker -h :4000 run hello-world
通過多次重複上面的操作出現了下面的結果,主管理員在兩個節點上建立的容器的數量趨於相等(這裡執行的容器是跑的乙個core api demo,如果執行的是上面的指令,狀態應該是exited)。

主管理員操作節點的容器:

# 檢視集群節點的容器列表

docker -h :4000 ps

# 刪除容器

docker -h :4000 rm -f containerid

# 啟/停容器

docker -h :4000 start/stop/restart containerid

與直接操作的區別就是docker後面加了-h :4000

Docker Swarm排程策略

swarm在用命令swarm manager啟動swarm manager時,可用 strategy指定排程策略。swarm提供了三種排程策略計算節點的排名,在排程 例如選擇哪乙個節點執行容器時 時,取排名最前的節點。這三種排程策略是 spread binpack random random策略 隨...

docker swarm核心概念

翻譯自docker官方文件,原文 本節介紹了docker1.12中集群管理和編排特性的特有概念。節點是swarm中的乙個docker引擎例項。你也可以把它想成是乙個docker節點。你可以在乙個物理機或雲伺服器上執行多個節點,但生產環境中的swarm部署通常包括分布在多個物理機和雲平台上的docke...

docker swarm 管理服務

docker swarm中服務的概念是 乙個服務包含swarm集群中多個節點,每個節點都可以部署服務,每個服務也包含多個相關的容器。docker service help commands create create a new service inspect display detailed in...