搭建时间:2019.8.16 设备系统:windows10 虚拟软件:VirtualBox 虚拟系统:Ubuntu 18.04 LTSlinux
感谢如下博客在问题解决中提供的帮助 JerryWangSAP --- 错误消息 This computer doesn't have VT-X/AMD-v enabled 向上的路 --- docker跨主机通讯方式四 docker-machinedocker
为何我会想到要在多台物理实体主机或虚拟机来搭建集群呢?缘由有两个:单台设备性能极限、灾备。第一条缘由很好理解,单台设备的性能极限。灾备的出发点并非容器内单个服务宕机的状况,而是物理范畴的灾备。国内可靠性达到99.99%的云服务供应商不时宕机的新闻时常会会有报导,但咱们是否有在同一时间段内,两个或两个以上云服务上同时宕机的新闻,咱们有曾听过吗?ubuntu
理论分析一下,以99.99%做为标准,这个数字乍一看确实有种万无一失的感受,但折算成绝对值的时间,倒是:52.56分钟/年。若是咱们将服务同时部署在两个不一样的云服务商上呢?服务理论宕机时间为:0.31秒/年。固然这只是个理论分析,只是在相同预算下,购买分布在2个或多个云服务商的主机来搭建集群,对服务的可靠性提高是不是一个更好的方案呢?vim
Docker文档在Swarms部分经过"docker-machine create --driver virtualbox myvm1"命令宿主系统内建立虚拟节点,但该命令在本就已是由虚拟机建立的ubuntu系统内是没法执行成功的,参见JerryWang的Blog。解决这个问题的方法有不少,双系统、使用Mac等均可行,但受限于某些客观缘由,而且想要尝试跨主机构建集群,所以采用了如下解决方案:在VirtualBox虚拟出3套ubuntu系统:A、B、C。其中将A等价为教程中的宿主操做系统,B、C等价为教程中宿主操做系统中的两个节点。经过连通A、B、C来达到与教程在该处相同的效果,同时也是实现了跨主机集群的搭建。windows
ifconfig // 若信息过长使用 ifconfig >> output 输出大文件里使用vim打开查看bash
PermitRootLogin yes服务器
ssh-keygen微信
ssh-copy-id IP
//执行两次,分别将IP替换为B、C的IPssh
ssh IP //成功后使用logout推出登陆ide
// docker文档到此处前并无要求安装docker-machine,参见官方文档安装 // 此命令须要执行两次,分别使用B、C的IP,NodeName官方文档分别命名为了:myvm1 、myvm2,此处我命名为docker一、docker2 docker-machine create -d generic --generic-ip-address=IP NodeName
docker-machine ls
docker-machine create --driver virtualbox myvm1
docker-machine create --driver virtualbox myvm2
复制代码
完成docker swarms教程效果截图以下
完成docker全部get-star教程的效果以下
最后推荐一篇k8s与Docker Swarms对比的文章Ankit Kumar -- Kubernetes vs. Docker Swarm: A Complete Comparison Guide
要获取更多Haytham原创文章,请关注公众号"许聚龙":