docker swarm 入門筆記

轉載請註明出處 http://www.paraller.com
原文排版地址 點擊跳轉html

轉載請註明出處 來源:paraller's blognode

docker swarm 簡單的理解就是用 docker remote Api 對其餘主機上的docker 容器進行操做nginx

這一篇文章是比較舊的實現方式,1.12以後的版本引入了Swarm mode ,更加的方便,參考《docker swarm筆記-Swam mode》docker

原理

一、每一個主機拉取一個swarm鏡像,啓動;
二、運行swarm容器,在Docker hub 中註冊地址和token(因此不適用於生產環境)
三、由於每一個docker配置文件都開放了地址,因此能遠程操做ubuntu

swarm 過濾器和策略

一、過濾器是指啓動什麼指定的docker主機容器
二、策略是指主機優先級使用vim

簡單操做步驟

準備兩臺主機:api

A:    120.24.242.119     10.170.48.177     192.168.0.1
B:    112.74.22.65     10.44.73.71     192.168.0.1  [master : 能夠作節點的同時 做爲master]

系統:ubuntutcp

修改docker配置文件:網站

vim /etc/default/docker 

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

否則會報錯:
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

安裝docker swarmthis

docker pull swarm:latest

建立集羣密鑰 token/cluster_id

node B:
docker run --rm swarm create
2f7b78725e94cae1ba3098ad5c6398b1

註冊節點

node A:
docker run -d swarm join --addr=:10.170.48.177 token://2f7b78725e94cae1ba3098ad5c6398b1
6f824e607558685554e37e4a7adaf37e1286843fef1a6a2118cea2951aabb66a

node B:
docker run -d swarm join --addr=:10.44.73.71 token://2f7b78725e94cae1ba3098ad5c6398b1
40e9645a7a250621a0f3cf0ee436085faa4b120bcd33a753f9b2e9f339236660

註冊master節點

docker run -t -p 2376:2375 -t swarm manage token://2f7b78725e94cae1ba3098ad5c6398b1 &

查看

docker -H tcp://10.170.48.177:2375  info
docker -H tcp://10.44.73.71:2375  info
docker -H tcp://10.170.48.177:2375  ps
docker -H tcp://10.170.48.177:2375  logs

在master中查看多少節點: [親測無效...]
docker run --rm swarm list token://2f7b78725e94cae1ba3098ad5c6398b1

操縱

docker -H tcp://10.170.48.177:2375  run -d nginx

TLS

swarm manage --tlsverify --tlscacert=<CACERT> --tlscert=<CERT> --tlskey=<KEY> [...]

dockerSwarm獲取root權限漏洞

利用 docker swarm 漏洞,獲取宿主機 root 權限
曝Docker Remote API未受權訪問漏洞,綠盟君帶你看影響
利用docker 最新漏洞滲透--提取root 權限

參考網站

dockerhub swam
Swarm mode overview
Swarm Command

1

相關文章
相關標籤/搜索