docker 三剑客实测

参考: https://www.jianshu.com/p/401b811be854
安装Docker: https://yeasy.gitbooks.io/docker_practice/install/ubuntu.html

**测试环境

VMware master

ubuntu 18.04
docker  18.05.0-ce
docker-machine  0.14.0

VMware slave

ubuntu 18.04
docker  18.05.0-ce

1 搭建集群

1.1创建管理节点

docker swarm init --advertise-addr 192.168.64.55:2377

1.2 查看join token

docker swarm join-token manager

1.3创建slave
在节点机器运行上一步得到命令

docker swarm join --token XXX 192.168.45.129:2377

查看当前集群
node.png

2 服务

2.1发布服务

#在manager上执行如下命令
# --replicas实例数
# --name 
# --name后面跟docker image 及image参数
docker service create --replicas 1 --name helloBoy alpine ping bilibili.com

#使用docker service inspect审查服务
docker service inspect --pretty helloBoy
#使用docker service ps 查看服务运行在哪个节点上
docker service ps helloBoy

#添加更多实例:docker service scale =
docker service scale helloBoy=5
docker service ps helloBoy

#删除service
docker service rm helloBoy

2.2DRAIN节点

docker node update --availability drain daosub1
#查看服务,daosub1节点已停止服务
service ps helloBoy
#恢复节点
docker node update --availability active daosub1

drain应该可以用于故障排查,压测等情况;滚动升级没想到应用场景,忽略。
2.3
全局网络

#添加 overlay网络,让service和service之间可以通讯
#管理节点上,添加overlay网络my-network
docker network create --driver overlay my-network
#加--network参数,就可以让所有节点都加入这个网络里去了
docker service create --replicas 3 --publish 8080:80 --network my-network --name my-web nginx

注意:
a. 这时候访问slave节点,http://{slave}:8080/。master的8080是访问不了。
b. swarm是内置负载均衡,访问slave会均衡到所有节点上


reqs.png

3 Docker-machine

3.1创建

#设置处理器的虚拟化引擎首选模式为"Intel VT-x/EPT 或AMD-V/RVI"及"虚拟化Intel VT-x/EPT 或AMD-V/RVI(V)"
docker-machine create --driver virtualbox manager1
docker-machine ssh manager1
docker-machine create --driver virtualbox work1
#出现error  “SSH cmd err, output: exit status 255:”
#加debug调试
docker-machine --debug create --driver virtualbox work3

你可能感兴趣的:(docker 三剑客实测)