docker - win7下构建swarm nodes实现跨host的容器之间的通信
前言
之前在Linux环境下尝试了swarm,通过将不同host以swarm nodes 的方式连接到一起(构建Overlay 子网),从而实现跨host的container通信。
今天我们就来说说如何在windows平台上面来建立swarm,以及实现跨host的container通信。
准备活动
首先,我们必须要有 大于等于2 的host,这样才能实现跨host吧,什么?!,不知道怎么在windows主机上面创建多个docker host? 没关系,可以看看我之前的文章。这里放出连接:
http://www.cnblogs.com/atuotuo/p/6945477.html
完成之后,我们就可以在本机上看到2个docker host, 例如:
构建Swarm
创建nodes
我们在第一个host (192.169.99.100)为manager,初始化swarm
$ docker swarm init --advertise-addr 192.168.99.100
完成之后,会有显示给我们一个 token, 之后我们需要时候他来加入swarm。
第二个host(192.169.99.101)加入swarm, 充当worker
$ docker swarm join --token SWMTKN-1-18cpam9ep3qyhyphocwp4axwxdyt30alyutih9miyci48j3g7q-70tp0t3w3bzylxqhy20jpl4bs 192.168.99.100:2377
OK,我们的swarm nodes 就完成了,现在我们在manager node 上面查看swarm 信息, 如下:
创建 Overlay 网络
众所周知,swarm网络的设计是为了在swarm nodes 上面运行 docker service。 所以,在docker 1.13之前,swarm原生态的Overlay网络是不允许单独的container加入其中的。。。
不过,在1.13, 创建网络的时候可以使用 “attachable” 参数来允许单独container加入该网络。 在manager node上面建立网络,如下:
$ docker network create -d overlay --attachable myOverlayNet
我们可以看到,自定义的Overlay网络已经建立完成。
测试网络通信
在host 1和2 上分别运行container,这里以 busybox 作为示例
# run container on host 1
$ docker run -itd --name mybb1 --network myOverlayNet busybox /bin/sh # run container on host 2
$ docker run -itd --name mybb2 --network myOverlayNet busybox /bin/sh
测试container之间的网络通信, 使用 “nslookup” 命令
OK, 我们成功地在window 7上实现了跨host的容器间通信!! 最后,感谢大家的浏览 :)
docker - win7下构建swarm nodes实现跨host的容器之间的通信的更多相关文章
- Docker跨主机容器之间的通信macvlan
找两台测试机: [root@docker1 centos_zabbix]# docker network ls NETWORK ID NAME DRIVER SCOPE 19ac9a55bedb br ...
- Docker怎么实现容器之间的通信?
//TODO 参考资料: https://developer.aliyun.com/article/55912 https://blog.csdn.net/u011541946/article/det ...
- docker容器之间的通信
容器之间互通 新建两个容器 docker run -d --name box1 busybox /bin/sh -c "while true;do sleep 3600;done" ...
- docker环境下构建flannel 网络
flannel 是coreos 开发的网络解决方案,为每一台主机分配一个 subnet,容器从此subnet 中分配ip,ip可以在主机间路由.每个subnet从更大的ip池中划分,为了在各个主机间共 ...
- Docker: Docker容器之间互相通信
最简单的方法,关闭防火墙(只建议用于开发环境) systemctl stop firewalld
- Docker环境下的前后端分离项目部署与运维(十一)Docker Swarm技术
Docker Swarm技术 docker swarm技术(之前的docker集群都是在 一个虚拟主机上的,但是如果这个主机挂掉了over了,docker技术就是多个虚拟主机形成一个集群) Swarm ...
- Docker:使用Ambassador进行跨主机间容器通信
转载请注明出处:点我 由于Docker自身的网络的原因,想要在多主机间的容器之间进行通信是比较麻烦的事情.可以利用Ambassador容器来实现这一功能. 基本原理: 利用Ambassador来实现主 ...
- 【原创】Docker实战 Dockerfile最佳实践&&容器之间通信
官方最佳实践文档 https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#from Docker实战(三十) ...
- docker在win7下的使用
1,安装 win7下需要安装docker-toolbox,然后通过Docker Quickstart Terminal运行 2,加速 直接pull的话是拉取的docker hub上的镜像,速度非常慢, ...
随机推荐
- JS中substring与substr的区别
Substring: 该方法可以有一个参数也可以有两个参数. (1) 一个参数: 示例: var str=“Olive”: str.substring(3); 结果:“ve” 说明:当substri ...
- HTML5常用标签总结
一.常用的标签 <h1>~<h6> 表示是一个标题 <p> 段落标签 <hr/> 水平线标签 <br/> 换行标签 <sub> ...
- yum仓库
1.概念: Yum仓库则是为进一步简化RPM管理软件难度而设计的,Yum能够根据用户的要求分析出所需软件包及其相关依赖关系,自动从服务器下载软件包并安装到系统 yum的工作原理:执行yum命令――&g ...
- [编织消息框架][传输协议]stcp简单开发
测试代码 public class ServerSTCP { static int SERVER_PORT = 3456; static int US_STREAM = 0; static int F ...
- @JsonIgnoreProperties注解不起作用的问题解决
最近做的一个东西要调第三方服务接口,要参照接口文档开发,但是第三方服务的接口字段名全部都是大写,本来以为这种应该没有什么问题.但是实际开发中发现大写的字段名字去调后台接口的时候报: org.codeh ...
- Java实现压缩文件与解压缩文件
由于工作需要,需要将zip的压缩文件进行解压,经过调查发现,存在两个开源的工具包,一个是Apache的ant工具包,另一个就是Java api自带的工具包:但是Java自带的工具包存在问题:如果压缩或 ...
- linux 安装memcached C/C++使用libmemcached库(续)
#include <iostream> #include <string> #include <libmemcached/memcached.h> using na ...
- 蓝桥杯-无穷分数-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- ubuntu下搭建nginx+mysql+php-fpm站点
概述 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. nginx的优势在于能以低内存高 ...
- 我拖拖拖--H5拖放API基础篇
不要搞错,本文不是讲如何拖地的.看过<javascript精粹>朋友应该知道,他实现拖放的过程比较复杂,现在时代不同了,我们用H5的新的拖放API就能非常方便的实现拖放效果了.最近在园子见 ...