昆仑山

注册

 

发新话题 回复该主题

docker网络模式之host及其容器间 [复制链接]

1#
白癜风哪家医院治疗好 https://jbk.39.net/yiyuanzaixian/bjzkbdfyy/

docker网络模式之host

1.只要启动容器时指定--net=host该容器的网络模式就是主机模式,否则就是默认的桥接(bridge)模式。

dockerrun-itd--net=hostmysql:latest

host网络模式与bridge网络模式的区别:

a.bridge模式每启动一个容器,就会多出一个容器网卡,并且每个都是通过docker0网卡与外界通讯的。

而且启动时必须把容器端口与宿主机端口进行映射。否则外界访问不了容器内的应用。

b.host模式启动的容器不用映射端口,容器启动后,直接通过宿主机地址就可以访问容器内的应用(端口是使用程序默认端口)。

例如启动一个nginx容器(默80端口),并且宿主机地址为..1.,则通过..1.就可以访问到nginx主页了。

两者缺点:

bridge模式:该模式网络延迟比host模式大。

host模式:该模式直接占用了宿主机对应端口。

docker容器间网络基于link单向通讯。

使用Tomcat和MySQL容器进行示例说明。

1.首先启动mysql容器dockerrun-itd--namelongmysql mysql:5.7 

2.启动两个Tomcat容器:

a.dockerrun-itd--nametomcatone--linklongmysqltomcat:latest

b.dockerrun-itd--nametomcattwo--linklongmysqltomcat:latest

3.进入tomcatone容器,并且使用指令pinglongmysql查看是否能和longmysql通讯(如果没ping指令自己安装)。

--link就是解析了Tomcat中的host文件。

使用--link优点:

不用使用容器ip地址与mysql通讯,而只是使用mysql名称映射通讯。

为什么要使用--link?

当mysql宕机后,重新启动mysql容器,该容器会重新分配到新的ip。

#MYSQL#

分享 转发
TOP
发新话题 回复该主题