Docker Swarm學習筆記二

搭建基礎環境

官方文檔中演示時用到了五臺主機/虛擬機;node

官方演示主機說明

這裏由於資源有限,只用三臺;docker

學習筆記主機說明

配置節點

接下來的全部操做都是以root用戶進行的。tcp

升級軟件包(操做對象:manager0,node0,node1);學習

apt-get update && apt-get -y upgrade && apt-get -y install curl

安裝Docker引擎(操做對象:manager0,node0,node1);

curl -sSL https://get.docker.com/ | sh

配置並啓動Docker引擎,令其監聽Swarm節點的2375端口(操做對象:node0,node1

docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

配置發現後端(操做對象:manager0

前面已經列出了本次學習用到的三臺主機的主機名以及其IP地址,下面的操做用到的IP也是這三個主機IP。

拉取鏡像

docker pull progrium/consul

啓動發現後端

docker run -d -p 8500:8500 --name=consul progrium/consul -server -bootstrap

建立Swarm集羣

建立主管理員(操做對象:manager0

docker run -d -p 4000:4000 swarm manage -H :4000 --replication --advertise 192.168.2.56:4000 consul://192.168.2.56:8500

由於這裏的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://192.168.2.56:8500
# 操做對象:node1(IP:192.168.2.129)
docker run -d swarm join --advertise 192.168.2.129:2375 consul://192.168.2.56:8500

獲取主管理員和各節點的信息(操做對象:manager0):

docker -H :4000 info

使用集羣

在集羣中運行容器(操做對象:manager0):

docker -H :4000 run hello-world

經過屢次重複上面的操做出現了下面的結果,主管理員在兩個節點上建立的容器的數量趨於相等(這裏運行的容器是跑的一個core api demo,若是運行的是上面的指令,狀態應該是Exited)。

clipboard.png

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

# 查看集羣節點的容器列表
docker -H :4000 ps

# 刪除容器
docker -H :4000 rm -f ContainerID

# 啓/停容器
docker -H :4000 start/stop/restart ContainerID

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

相關文章
相關標籤/搜索