如何從零開始搭建Docker Swarm集群

2021-09-02 16:53:49 字數 2738 閱讀 9064

需求1. docker版本1.4.0+

2. 兩台節點主機:

檢查節點docker配置

1. 開啟docker配置檔案(示例是centos 7)

vim /etc/sysconfig/docker

2. 新增-h tcp:options

options='-g /cutome-path/docker -h tcp:'

3. centos6.6 需要另外新增-h unix:///var/run/docker.sock

options='-g /mnt/docker -h tcp: -h unix:///var/run/docker.sock'
分別給a、b節點安裝swarm
$ docker pull swarm
生成集群token(一次)
$ docker run --rm swarm create

6856663cdefdec325839a4b7e1de38e8

其中6856663cdefdec325839a4b7e1de38e8就是我們將要建立集群的token

新增節點a、b到集群

$ docker run -d swarm join --addr=192.168.20.1:2375 token://6856663cdefdec325839a4b7e1de38e8

$ docker run -d swarm join --addr=192.168.20.2:2375 token://6856663cdefdec325839a4b7e1de38e8

列出集群a、b節點

$ docker run --rm swarm list token://6856663cdefdec325839a4b7e1de38e8

192.168.20.1:2375

192.168.20.2:2375

集群管理:

在任何一台主機a、b或者c(c:192.168.20.3)上開啟管理程式。例如在c主機開啟:

$ docker run -d -p 8888:2375 swarm manage token://6856663cdefdec325839a4b7e1de38e8

現在你就可以在主機c上管理集群a、b:

$ docker -h 192.168.20.3:8888 info

$ docker -h 192.168.20.3:8888 ps

$ docker -h 192.168.20.3:8888 logs ...

在集群上執行容器
$ docker -h 192.168.20.3:8888 run -d --name web1 nginx

$ docker -h 192.168.20.3:8888 run -d --name web2 nginx

$ docker -h 192.168.20.3:8888 run -d --name web3 nginx

$ docker -h 192.168.20.3:8888 run -d --name web4 nginx

$ docker -h 192.168.20.3:8888 run -d --name web5 nginx

檢視集群a、b內的容器

$ docker -h 192.168.20.3:8888 ps -a

結果如下:

container id        image                       command                created             status                    ports               names

4cc1f232fb18        nginx:latest                "nginx -g 'daemon of   16 hours ago        up 16 hours               80/tcp, 443/tcp     host-a/web5

e8327939721a        nginx:latest                "nginx -g 'daemon of   16 hours ago        up 16 hours               443/tcp, 80/tcp     host-a/web3

35e08c4a1b43        nginx:1                     "nginx -g 'daemon of   23 hours ago        up 16 hours               443/tcp, 80/tcp     host-b/web4

9bd07067620d        nginx:1                     "nginx -g 'daemon of   23 hours ago        up 16 hours               443/tcp, 80/tcp     host-b/web2

626fe5b1dcfa        nginx:1                     "nginx -g 'daemon of   23 hours ago        up 16 hours               80/tcp, 443/tcp     host-b/web1

其中names列裡面:/前邊是節點名字,後邊是在節點內建立的容器名字。

hadoop環境搭建 從零開始

對hadoop的認識只停留在是mapreduce的一種實現工具,大資料,分布式等抽象層面,完全沒有具象了解。搭建環境,完全從零開始,走了挺多彎路。總結之。0.目前較為普遍的起步方式是在虛擬機器上模擬多台搭建hadoop。初始時為調查找問,魯莽從cygwin下手,結果被缺失的linux知識打敗,浪費很...

如何從零開始設計系統

一直不滿足於只是做一兩個模組,想著自己設計乙個完整的系統,最近自己在寫乙個小玩意兒,有一些經驗和思考,故有了以下的內容。首先想說的是 這只是些個人體會,並不完善。如果有誰在看的話,希望不要被誤導。ok,言歸正轉。王道 多寫 少些花裡狐哨的名堂。基本原則 考慮到在開始設計乙個新的系統時多缺乏足夠的領域...

從零開始搭建深度學習環境

開始深度學習調參之路不能沒有乙個趁手的環境 安裝基礎環境 我使用的機器環境是 ubuntu18.04 安裝顯示卡驅動 1.2.按照cuda所需的版本安裝 3.sudo ubuntu drivers autoinstall 安裝pip sudo apt get install python pip 安...