测试docker不同主机间容器互相访问
测试服务器(centos6.5):
192.168.16.70 网卡:eth0
192.168.16.74 网卡:eth0
第一步,分别在2台机器执行:
yum install docker
service docker start
chkconfig docker on
service pull redis
centos修改默认网桥:
vi /etc/sysconfig/docker
other_args=-b=br0
$ service docker restart
如果删除网桥,可以执行:
$ ifconfig docker0 down
$ brctl delbr docker0
#brctl addbr br0
分别在Docker主机上建立虚拟网桥
桥接本地网卡:
# brctl addif br0 eth0
#brctl show
另ssh访问70和74时,绑定eth0到br0,或者更改默认网关,导致ssh连接关闭,登陆70和74所在虚拟机,在本机上操作才成功。
下面命令在本机执行,非ssh远程执行:
192.168.16.74上执行
ifconfig eth 0.0.0.0
ifconfig br0 192.168.16.74 network 255.255.255.0
route add -net default gw 192.168.16.1 dev br0
下面2条命令看需要执行:
route del -net default gw 192.168.16.1 dev eth0
route add -net 192.168.16.0/24 gw 192.168.16.1 dev br0
70本机服务器执行类似命令
第二步:
70服务器执行:
启动容器,不指定桥接网卡
docker run --name test-redis --net=none -d redis redis-server --appendonly yes
为容器4465c4ca0c21分配ip
安装pipework
[root@kuber-minion ~]# git clone https://github.com/jpetazzo/pipework
[root@kuber-minion ~]# cd pipework/
[root@kuber-minion pipework]# ls
LICENSE pipework README.md
[root@kuber-minion pipework]# cp pipework /usr/bin
//@前部分是ip地址和掩码,后面部分是网关地址
pipework br0 -i eth0 4465c4ca0c21 192.168.16.50/24@192.168.16.1
如报错,Object "netns" is unknown, try "ip help" centos6.5, 请:
centos 6.5 升级iproute
$ vim /etc/yum.repos.d/rdo-release.repo
-------------------------------------------------------------------------------------
CentOS6.6 升级iproute
[openstack-icehouse]
name=OpenStack Icehouse Repository
baseurl=https://repos.fedorapeople.org/repos/openstack/EOL/openstack-icehouse/epel-6/
gpgcheck=0
enabled=1
-------------------------------------------------------------------------------------
#yum update iproute
74服务器执行(也许执行安装pipework和升级iproute):
#docker run -it -d --net=none --name client-redis redis redis-cli
#pipework br0 -i eth0 c3669c4eee03 192.168.16.51/24@192.168.16.1
登陆容器:
docker exec -it client-redis /bin/sh
查看各自ip,并测试是否可连接远程容器redis服务端
附:
当执行下面语句时,开放一个本机端口,其他机器可通过6378端口访问容器内服务:
#docker run --name some-redis -d -p 192.168.16.70:6378:6379 redis redis-server --appendonly yes
测试中用到的一些其他命令:
查看启动的容器
docker ps
查看所有容器,包括没启动的
docker ps -a
启动一个存在的容器
docker start some-redis
删除容器
docker rm e6cafd876b67
测试docker不同主机间容器互相访问的更多相关文章
- Docker:使用Ambassador进行跨主机间容器通信
转载请注明出处:点我 由于Docker自身的网络的原因,想要在多主机间的容器之间进行通信是比较麻烦的事情.可以利用Ambassador容器来实现这一功能. 基本原理: 利用Ambassador来实现主 ...
- [docker]使用quaaga实现(rip ospf)实现主机间容器互通
使用quaaga实现(rip ospf)实现主机间容器互通 - n1设置 brctl addbr br0 ip a a 10.1.1.1/24 br0 ip a a 10.1.1.1/24 dev b ...
- docker中宿主机与容器(container)互相拷贝传递文件的方法
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/71425077 本文出自[我是干勾鱼的博客] 前面讲解过如何进入.退出docker ...
- docker端口映射和容器互相访问
端口映射 容器运行时如果没有指定端口,与外界是无法通信的,比如当前我们的有一台MySQL的docker container,当前容器正在运行mysql并提供3306端口 # docker ps CON ...
- 实现Docker跨主机间的容器网络联通
Server1(Server) 192.168.81.58 内核版本 3.10.0-123.el7.x86_64 Docker版本 1.12.6Server2(Agent) 192.168.81.5 ...
- 使用Docker的macvlan为容器提供桥接网络及跨主机通讯
对于了解Docker容器网络的朋友,我想对虚拟机的网络也不会陌生,毕竟我们是跟随这个时代一起学习和进步的人.相比VM,Docker的网络也在逐步走向成熟,本文主要针对其中的macvlan做下简单的介绍 ...
- centos7下安装docker(15.7容器跨主机网络---calico)
Calico是一个纯三层的虚拟网络方案,Calico为每个容器分配一个IP,每个host都是router,把不同host的容器连接起来.与vxlan不同的是:calico不对数据包进行封装,不需要NA ...
- centos7下安装docker(15.5容器跨主机网络--flanneld)
flannel是由CoreOS研究的一种覆盖网络(overlay network)网络工具,目的是帮助每一个host主机有一个完整的子网: 功能是:让集群中不同节点的主机创建的容器都有一个唯一的虚拟I ...
- Docker容器相互访问
原文地址:https://blog.csdn.net/subfate/article/details/81396532?utm_source=copy 很多时候,同一台机器上,需要运行多个docker ...
随机推荐
- 未能加载文件或程序集“Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5”或它的某一个依赖项。系统找不到指定的文件。
在创建ASP.NET MVC项目过程中发生了这个异常 未能加载文件或程序集"Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0 ...
- 【神器】vimum在浏览器中键盘操作选择、复制、粘贴,键盘党的最爱
1.下载: http://files.cnblogs.com/files/quejuwen/vimum_extension_1_56.zip 2.开源:https://github.com/philc ...
- JavaWeb_day05cookie_session_HttpSession
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 两个会话的技术cookie session 会话概念 ...
- Android 手机卫士3--设置中心
1.要点击九宫格中的条目,需要注册点击事件 // 注册九宫格单个条目的点击事件 gv_home.setOnItemClickListener(new OnItemClickListener() { / ...
- Lind.DDD.SSO单点登陆组件的使用(原创)
回到目录 一般sso的说明 在Lind.DDD框架里,有对单点登陆的集成,原理就是各个网站去sso网站统一登陆授权,之后在sso网站将登陆的token进行存储,存储方式随你(cache,redis,m ...
- PowerDesigner 常用设置
1.使用 JDBC 方式连接 Oracle 逆向生成数据库 PDM 使用 ODBC 方式连接 Oracle 数据库可以借鉴这位兄弟的博客:http://www.cnblogs.com/clivehua ...
- 网址http换成https ----js
<script type="text/javascript"> var url = window.location.href; if (url.indexOf(&quo ...
- iOS HTTP访问网络受限
HTTP访问网络受限,只需要在项目工程里的Info.plist添加 <key>NSAppTransportSecurity</key> <dict> <key ...
- MS SQL巡检系列——检查重复索引
前言感想:一时兴起,突然想写一个关于MS SQL的巡检系列方面的文章,因为我觉得这方面的知识分享是有价值,也是非常有意义的.一方面,很多经验不足的人,对于巡检有点茫然,不知道要从哪些方面巡检,另外一方 ...
- [OFC]Mellanox发布首个200Gb/s硅光子设备
[OFC]Mellanox发布首个200Gb/s硅光子设备 讯石光通讯网 发布时间:2016/4/6 8:18:20 编者:iccsz 点击143次 摘要:Mellanox日前在O ...