首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Docker高级篇:docker网络的四种类型

通过上一篇学习,我们对docker网络有了初步的了解,详见:Docker网络上篇-网络介绍。本篇,咱们就来实战docker网络。

docker网络实战

实战docker网络,我们将从以下几个案例来讲解

1:birdge是什么?

2:host

3:none

4:container

实战网络类型如下:

在docker中,网络的配置是以json格式存在的,下面我们就来看看每种类型网络配置信息

我们先来看看bridge类型的网络

使用命令:docker network inspect bridge

查看host类型的网络

使用到命令:docker network inspect host

none类型网络

使用到的命令:docker network inspect none

自定义网络类型

docker network inspect bb_network

说明:bb_network是自定义网络名称

bridge是什么

docker服务默认会创建一个docker0网桥,该桥接网络的名称是docker0,它是内核层连通了其他物理或虚拟网卡,这就是将所有容器和本地主机都放到同一个物理的网络中。docker默认指定了docker0接口的IP地址和子网掩码,让主机和容器之间可以通过网桥相互通讯

网络图

理解两两匹配,一一匹配:

启动后,查看宿主机ifconfig

然后分别进入对应的容器中查看ifconfig

先来看看tomcat81:

我们可以看到 veth23和etho22一一对应的。成对出现的。

host说明

host是什么?

直接使用宿主机的ip地址与外界进行通信,不再需要额外进行NAT转换。

警告

如果使用以下命令会出现警告:

docker run -d -p 80803:8080 --netword hot --name tomcat83 billygoo/tomcat8-jdk8

正确写法:

把端口去掉。

再次查看宿主机的ip信息。发现没有新增加网络配置。说明在host模式下,容器将不会获取一个独立的network namespace。和宿主机共用一个。

不信?查看83的网络配置信息:

怎么访问83呢?

none说明

container网络模式

下一篇预告:在实际生产中,我们一般都是自定义网络的。所以,在下一篇中,咱们将实战自定义网络

大家好,我是凯哥Java(kaigejava),乐于分享,每日更新技术文章,欢迎大家关注“凯哥Java”,及时了解更多。让我们一起学Java。也欢迎大家有事没事就来和凯哥聊聊~~~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20221228A00WZ600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券