白癜风哪家医院治疗好 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#