当前位置: 首页 > news >正文

五屏网站建设视频素材网免费

五屏网站建设,视频素材网免费,网站开发要,南漳网站建设背景这几天在研究Kubernetes#xff0c; 遇到一个有意思的nodejs镜像#xff1a;luksa/kubia# 不带端口映射启动容器 docker run -it -d luksa/kubia # 连接到默认的Bridge网桥#xff0c;容器IP是 172.17.0.2之后#xff0c;在宿主机使用容器IP和8080 端口可访问该容器… 背景这几天在研究Kubernetes 遇到一个有意思的nodejs镜像luksa/kubia# 不带端口映射启动容器 docker run -it -d luksa/kubia # 连接到默认的Bridge网桥容器IP是 172.17.0.2 之后在宿主机使用容器IP和8080 端口可访问该容器nodejs服务对此我有几个疑问这几个疑问在我看来有点与我之前对docker 网络的认知相冲突。Q1. 不是说如果容器没有端口映射容器内外隔离吗怎么在宿主机使用容器IP还可以访问Q2.  使用容器IP:8080可以访问nodejs服务这个8080从哪里来头脑风暴首先排除一些同事说法这个容器是以host网络模型连到宿主机所以可以在宿主机通过容器IP访问。这个新建容器肯定还是连接到默认的bridge网桥上。All containers without a --network specified, are attached to the default bridge network.In terms of Docker, a bridge network uses a software bridge which allows containers connected to the same bridge network to communicate, while providing isolation from containers which are not connected to that bridge network.对于Q1我有个误区没有端口映射容器内外网络隔离宿主机是无法访问容器的。A:  实际上对于加入同一bridge网桥上的容器网桥内外网络确实是隔离的网桥上的容器都可以相互连接。而我们的宿主机也在这个默认的bridge网桥设备上其IP地址是网桥设备的网关(172.17.0.1)。Q3.那端口映射到底起什么作用呢A网桥模型确保了网桥内容器可相互访问但除此网桥之外的网络均不能访问容器 这也正是bridge网络隔离的效果。端口映射-p表示容器绑定宿主机的网卡端口来实现转发访问绑定的网卡决定了你对外暴露的程度。绑定宿主机的回环地址127.0.0.1 docker run -it -d -p 127.0.0.1:8080:8080 luksa/kubia 那么在宿主机内只能使用127.0.0.1:8080访问容器绑定宿主机的物理地址 10.201.80.126docker run -it -d -p 10.201.80.126:8080:8080 luksa/kubia 那么可使用宿主机物理IP10.201.80.126:8080访问容器这样局域网机器就能访问到容器了 3. 不写IP这样会绑定到0.0.0.0也就是宿主机所有的网卡。docker run -it -d -p 8080:8080 luksa/kubia 很显然宿主机内回环地址和物理地址均可以访问该容器了。再回到上面的Q2问题通过容器IP:8080访问容器8080是哪里来的8080是容器内nodejs进程的监听端口我们在构建镜像时本就无所谓使用expose指令The EXPOSE instruction does not actually publish the port. It functions as a type of documentation between the person who builds the image and the person who runs the container, about which ports are intended to be published.所以在docekr ps时候并不会在PORTS列显示任何内容但是通过容器IP可直接连通容器内进程监听端口。为啥访问容器IP8080 就可以访问容器内nodejs提供的服务这是因为容器镜像在构建的时候一般在0.0.0.0地址上监听请求这意味着程序在所有地址的8080端口上监听请求。这样就延伸出一个有趣的现象让我们进入容器内部 docker exec -it 3cc9f428fc25 bashcurl 127.0.0.1:8080curl 127.0.0.2:8080curl 127.0.1:8080curl 172.17.0.2:8080curl 172.17.2:8080 几个看起来错误的IP竟然也可以访问nodejs服务 这正是nodejs在http://0.0.0.0:8080地址监听请求的结果。# 截取自该镜像构建源码https://github.com/luksa/kubia-qps/blob/master/kubia-qps/app.js var www http.createServer(handler); www.listen(8080);# nodejs: server.listen([port[, host[, backlog]]][, callback]) api If host is omitted, the server will accept connections on the unspecified IPv6 address (::) when IPv6 is available, or the unspecified IPv4 address (0.0.0.0) otherwise. 猜想 验证 源码支持回应了一开始的几个疑问对容器Bridge的网络认知进一步加深。总结输出bridge网桥内容器通过容器IP相互访问外部网络隔离docker run -p 参数通过端口映射让bridge网桥外网络可以访问容器一般情况下对外提供web服务的docker镜像会在0.0.0.0 地址上监听请求https://en.wikipedia.org/wiki/0.0.0.0https://github.com/luksa/kubia-qps/blob/master/kubia-qps/app.jshttps://linuxize.com/post/check-listening-ports-linux/推荐阅读● 程序员应对浏览器同源策略的姿势● 一文掌握Cookies前世今生● ASP.NET Core跨平台技术内幕● TPL Dataflow组件应对高并发,低延迟要求● 实例解读Docker Swarm● 基于docker-compose的Gitlab CI/CD实践排坑指南
http://www.pierceye.com/news/975466/

相关文章:

  • c语言网站建设禅城网站开发
  • 宁波品牌网站制作哪家好太平阳电脑网网站模板
  • seo网站外链工具看设计比较好的网站
  • 济南道驰网站建设有限公司怎么样某网站网站的设计与实现
  • 服装印花图案设计网站设计一个网站要多久
  • ai怎么做自己的网站getpage wordpress使用详解
  • 龙岩做网站推广龙岗网站 建设深圳信科
  • 沈阳网站建设 网络服务广告公司首页
  • 旅游网站建设导航栏中国哪里正在大开发大建设
  • 哪能建设网站建设网站需要哪些流程图
  • 网站YYQQ建设o2o型网站
  • 给客户做网站 赚钱吗赣州省住房和城乡建设厅网站
  • 营销优化型网站怎么做手机app网页制作
  • 上海网站建设服wordpress友情链接排序
  • 沈阳市和平区网站建设编程课适合多大孩子学
  • 东阳网站优化懒人图库
  • 马关县网站建设专注营销型网站建设
  • 微信公众号公众平台太原seo关键词优化
  • 沈阳网站建设方案二级网站怎样被百度收录
  • 厦门数字引擎 怎么打不开网站youku网站开发技术
  • 中小企业网站建设论文郑州网站服务公司
  • 工信部网站备案验证码文化传媒网站封面
  • 境外做网站网站百度代运营
  • 南京学校网站建设策划手机网站默认全屏
  • 东莞公司网站策划万网买网站
  • 建筑网站视频大全做外汇网站卖判刑多少年
  • 手机网站菜单网页怎么做东莞网站优化方案
  • 公众号免费素材网站wordpress无法开始安装
  • 建设银行互联网网站首页网站备案 视频
  • 免费优化网站建设做app和网站哪个比较好用