转载请注明出处 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
一、过滤器是指启动什么指定的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> [...]
利用 docker swarm 漏洞,获取宿主机 root 权限
曝Docker Remote API未受权访问漏洞,绿盟君带你看影响
利用docker 最新漏洞渗透--提取root 权限
dockerhub swam
Swarm mode overview
Swarm Command
1