码迷,mamicode.com
首页 > Windows程序 > 详细

docker在windows下和linux下网络底层的一些区别

时间:2019-12-29 20:40:53      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:win   虚拟   style   一个   image   lin   简单   虚拟机   inux   

windows和linux下的docker运行时的网络结构是有区别的

a.windows下,默认使用Hyper-v创建一个linux虚拟机,承载docker。所以从外向内的路径为:

windows -> linux系统的docker(hyper-v中) -> docker内的容器(应用)

其中docker desktop会默认创建一个网络DockerNAT,windows宿主分配IP:10.0.75.1

技术图片

 linux虚拟机会分配IP:10.0.75.2,并且还另外会分配内部网段IP:172.17.0.1

然后docker内的容器会默认分配172.17.0.0网段IP,例如:

技术图片

 可以看到网络路径为

10.0.75.1(windows) -> 10.0.75.2 / 172.17.0.1 (docker的linux虚拟机) -> 172.17.0.x(docker的内部容器)

所以这里需要注意:在容器内去访问windows宿主需要使用10.0.75.1。使用172.17.0.1访问的是linux虚拟机。

 

b.linux下,不需要另外创建虚拟机了。从外向内路径为:

linux -> docker内部容器(应用)

所以网络路径也变为更简单了

172.17.0.1(linux系统) -> docker内部容器(应用)

所以访问linux宿主直接用172.17.0.1就够了

docker在windows下和linux下网络底层的一些区别

标签:win   虚拟   style   一个   image   lin   简单   虚拟机   inux   

原文地址:https://www.cnblogs.com/zhoushiya/p/12116026.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!