通过上一篇学习,我们对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网络模式
下一篇预告:在实际生产中,我们一般都是自定义网络的。所以,在下一篇中,咱们将实战自定义网络
结束语
如操作有问题欢迎去 我的 个人博客(www.kaigejava.com)留言或者 微信公众号(凯哥Java)留言交流哦。
本系列教程直通车
直通车,本系列教程已发布文章,快速到达,《Docker学习系列》教程已经发布的内容如下:
【图文教程】Windows11下安装Docker Desktop
【填坑】在windows系统下安装Docker Desktop后迁移镜像位置
【Docker学习系列】Docker学习1-docker安装
【Docker学习系列】Docker学习2-docker设置镜像加速器
【Docker学习系列】Docker学习3-docker的run命令干了什么?docker为什么比虚拟机快?
【Docker学习系列】Docker学习2-常用命令之启动命令和镜像命令
【Docker学习系列】Docker学习系列3:常用命令之容器命令
【Docker学习系列】Docker学习4-常用命令之重要的容器命令
【Docker教程系列】Docker学习5-Docker镜像理解
【Docker教程系列】Docker学习6-Docker镜像commit操作案例
【Docker学习教程系列】7-如何将本地的Docker镜像发布到阿里云
【Docker学习教程系列】8-如何将本地的Docker镜像发布到公司镜像服务器上?
「Docker学习系列教程」9-Docker容器数据卷介绍
「Docker学习系列教程」10-Docker容器数据卷案例
「Docker学习系列教程」基础篇小总结及高级篇预告
docker高级篇1-dockeran安装mysql主从复制
docker高级篇第二章-分布式存储之实战案例:3主3从redis集群扩容配置
docker高级篇第二章-分布式存储之实战案例:主从容错切换迁移案例
Docker高级:Redis集群实战!4主4从缩容到3主3从,怎么处理?
docker高级篇第三章-dockerfile案例之制作自己的centos镜像
docker高级篇:实战-自己开发的微服务怎么在docker上面运行?
【Docker学习教程系列汇总】笔记及遇到问题解决文章
大家好,我是凯哥Java(kaigejava),乐于分享,每日更新技术文章,欢迎大家关注“凯哥Java”,及时了解更多。让我们一起学Java。也欢迎大家有事没事就来和凯哥聊聊~~~