文档章节

docker跨主机网络通信实践

木头
 木头
发布于 2016/04/14 17:08
字数 297
阅读 99
收藏 6
点赞 1
评论 0

一、测试环境

consul:192.168.1.101 centos7
node1:192.168.1.102 centos7
node2:192.168.1.103 centos7

二、环境准备

    *注意node1和node2服务器的hostname,确保不相同,以防服务发现中冲突

    参照docker官方安装最新版服务,本次测试使用1.10.3,详见:https://docs.docker.com/engine/installation/linux/centos/

三、环境配置

1、consul:

    docker run -d -p "8500:8500" -h "consul" progrium/consul -server -bootstrap

2、node1:

    docker启动核心参数:

        docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-advertise 192.168.1.102:2375 --cluster-store consul://192.168.1.101:8500   

3、node2:

    docker启动核心参数:

        docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-advertise 192.168.1.103:2375 --cluster-store consul://192.168.1.101:8500

4、node1和node2防火墙配置

iptables -I INPUT -p tcp --dport 2375 -j ACCEPT
iptables -I INPUT -p tcp --dport 7946 -j ACCEPT
iptables -I INPUT -p udp --dport 7946 -j ACCEPT
iptables -I INPUT -p udp --dport 4789 -j ACCEPT

四、跨主机网络(node1和node2)

1、显示主机网络信息

    docker network ls

2、创建网络

    docker network create -d overlay net-test

    网络创建完成后,可以通过docker network ls查看,宿主机网络应该完成同步

3、创建容器

    node1:docker run -itd --name=test1 --net=net-test busybox

    node2:docker run -itd --name=test2 --net=net-test busybox

4、网络测试

    node1:docker exec test1 ping test2

    node2:docker exec test2 ping test1



© 著作权归作者所有

共有 人打赏支持
木头
粉丝 6
博文 31
码字总数 7586
作品 0
无锡
高级程序员
Docker 跨主机网络(十六)

一、跨主机网络概述 前面已经学习了 Docker 的几种网络方案:none、host、bridge 和 joined 容器,它们解决了单个 Docker Host 内容器通信的问题。本章的重点则是讨论跨主机容器间通信的方案...

wzlinux ⋅ 05/03 ⋅ 0

Docker容器跨主机通信之:直接路由方式

概述 就目前Docker自身默认的网络来说,单台主机上的不同Docker容器可以借助docker0网桥直接通信,这没毛病,而不同主机上的Docker容器之间只能通过在主机上用映射端口的方法来进行通信,有时...

CodeSheep ⋅ 06/14 ⋅ 0

关于docker容器网络的一些理解

写在前边的话 突然发现好久没有更新博客了,像我这种频繁发表博客的人竟然也会放慢了更新的速度,其实不是说自己不去写,不去更新,只是不愿意去将就,去发表一些让别人看了没有多大帮助的文...

u010739551 ⋅ 05/23 ⋅ 0

不同容器之间的通信可以借助于 pipework

不同容器之间的通信可以借助于 pipework 这个工具 pipework是由Docker的工程师Jérme Petazzoni开发的一个Docker网络配置工具,由200多行shell实现,方便易用。 下载地址:wgethttps://githu...

柴鑫旺 ⋅ 2017/08/25 ⋅ 0

Docker 2015年度回顾

Docker从2013年开源,即将经历三年的不断完善与优化。2015年是Docker开源项目突飞猛进的一年,在这一年的时间里,Docker先后发布了v1.5, v1.6, v1.7, v1.8, v1.9 等5个大版本以及7个修订版。...

dockerer ⋅ 2016/01/06 ⋅ 0

小白docker入门之Kubernetes的网络知识

目录 docker的网络通信 kubernetes的网络通信 总结 kubernetes集群搭建完成后,使用docker ps命令,可以看到正在跑的容器,其中一个容器名字叫flannel。这个flannel是一个开源的网络组件,了...

OrangeLoveMilan ⋅ 2017/12/29 ⋅ 0

Kubernetes网络原理

1. kubernetes网络模型 1.1. 基础原则 每个Pod都拥有一个独立的IP地址,而且假定所有Pod都在一个可以直接连通的、扁平的网络空间中,不管是否运行在同一Node上都可以通过Pod的IP来访问。 k8...

huwh_ ⋅ 2017/09/10 ⋅ 0

(七)Docker网络和 overlay跨主机通讯

容器和宿主机、容器之间以及夸主机容器如何通讯呢?这就需要使用到Docker网络。 在前面的介绍中我们在Dockerfile中通过EXPOSE参数来设置容器暴露的端口,让在docker run中使用-p来设置宿主机...

linuxjavachen ⋅ 2017/05/07 ⋅ 0

容器服务是如何做到的跨主机的容器间通信?

容器间网络互通 容器服务为集群中每个容器提供集群内可达的独立IP,容器之间就可以通过这个独立的IP互相通信,而不需要通过NAT暴漏到主机端口,解耦了与宿主机IP的依赖,因此避免了做NAT的时...

csome ⋅ 2016/01/14 ⋅ 0

22、《每天5分钟玩转Docker容器技术》学习--Flannel Network内部结构

一、环境介绍 二、环境搭建 环境搭建这里就不再重复了,请大家参考上一篇文章! http://blog.51cto.com/hostman/2103503 这里我们从配置flannel信息到数据库中开始 创建一个文件flannel-con...

hostman6 ⋅ 04/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

解决yum安装报错Protected multilib versions

使用yum安装报错Protected multilib versions原因是因为多个库不能共存,不过更新的话也并不行,但是可以在安装命令后面加上如下一段命令: --setopt=protected_multilib=false 案例: 比如需...

北岩 ⋅ 24分钟前 ⋅ 0

为什么要学习Typescript???

简单来说 目前的typescript就是未来的javascript 为什么?? 这要从ECMA-262标准的第4版说起 对了 我们说的ES5 其实是ECMAScript3.1这个替代性建议被扶正了而已... 那么 第4版标准是什么? 看看...

hang1989 ⋅ 29分钟前 ⋅ 0

linux安装ipfs

一、下载ipfs # cd /usr/local/ipfs/ # wget https://dist.ipfs.io/go-ipfs/v0.4.15/go-ipfs_v0.4.15_linux-amd64.tar.gz # tar -zxvf go-ipfs_v0.4.15_linux-amd64.tar.gz 二、安装ipfs # ......

八戒八戒八戒 ⋅ 34分钟前 ⋅ 0

jvm程序执行慢诊断手册

生产环境最多的几种事故之一就是程序执行慢,如果是web服务的话,表现就是响应时间长。本文分享,从业多年形成的排查守则。 诊断步骤 系统资源查看 首先是系统资源查看,而且必须是在第一步。...

xpbob ⋅ 35分钟前 ⋅ 0

YII2 advanced 高级版本项目搭建-添加API应用以及多应用

一、YII安裝 安裝yii可以用composer安裝,也可以在yii中文社区下载归档文件安装 composer安装就不介绍了,因为要安装composer,比较麻烦,当然安装了composer是最好的,以后安装yii的插件要用...

botkenni ⋅ 36分钟前 ⋅ 0

在jdk1.8的环境下模拟永久代内存溢出

相信不少小伙伴在看深入理解Java虚拟机的时候,作者给我们举例一个demo来发生PermGen space 1、通过List不断添加String.intern(); 2、通过设置对应的-XX:PermSize与-XX:MaxPermSize(更快看到...

虾几把写 ⋅ 今天 ⋅ 0

开发OpenDaylight组件的完整流程

在前面介绍学习了OpenDaylight的几个重要模块后,这里再来介绍下完整开发一个模块的过程。 OSGI的bundles提供被其他OSGI组件调用的服务。这个教程中展示的是Data Packet Service去解析数据包...

wangxuwei ⋅ 今天 ⋅ 0

Java序列化和反序列化

1、什么是序列化和反序列化 序列化:把对象转换为字节序列的过程。 反序列化:把字节序列恢复成对象的过程。 2、被序列化的类需要实现serializable接口,只是为了标注该对象是可以被序列化的...

IT-Mamba ⋅ 今天 ⋅ 0

流式构建原理

流式构建需要达到分钟级的数据更新频率,Kylin采用类似于Spark Streaming的做法,每隔数分钟进行一次微构建。这边的构建需要考虑到一个延迟因素,分布式网络存在延迟等因素,该时间段的数据有...

无精疯 ⋅ 今天 ⋅ 0

在maven项目工程编写solr代码,需要的依赖

solrJ <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>6.6.2</version> </dependency> <dependency> <groupId>org.apache.httpcomponents<......

爱运动的小乌龟 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部