docker网络,认识docker0,--link使用

本文介绍了Docker的默认网络docker0,它作为容器间的桥梁,允许容器间通信。通过--link参数,可以实现容器间的名称解析,但这种方式已逐渐被淘汰。文章还探讨了容器通过主机名无法直接互访的问题,并预告了自定义网络的解决方案。
摘要由CSDN通过智能技术生成

docker网络,认识docker0,–link使用

前言

这里有博主对docker的基础总结:https://blog.csdn.net/hello_list/article/details/124221409

这篇文章没有说到docker网络,今天就是续上,看到没有,我说的会跟上的吧

在这里插入图片描述

在这里插入图片描述

认识docker0

我们安装完docker有没有发现,我们使用ip addr 命令后,是这样的,我们发现增加了一个docker0的内网地址:172.17.0.1

学过计算机网络的同学听到这里肯定就很容易理解,而且很简单了,但是没有学过计算机网络的同学,可以不用观看此文章,这只是作者的笔记,也不会讲的通俗易懂;

在这里插入图片描述

docker相当于Linux上的虚拟机容器,它也会像vmware一样创建自己的网卡,同时搭建自己的容器内网,而docker0就是网卡,通俗理解相当于路由器;

我们每启动一个容器,就会通过docker0来分配一个容器ip,通过主机—》docker0—-》容器,这样我们都是可以解析找到地址网络,也就是都可以ping的通的;

而容器之间,本身再docker0的子网下,在一个网段也都是可以ping的通的;

随便搜一张图片来理解:

在这里插入图片描述

这里也做下测试吧

我们启动两个tomcat9.0服务:

docker run -it -d -P --name tomcat01 tomcat:9.0
docker run -it -d -P --name tomcat02 tomcat:9.0

我这里已经启动了两个容器:

在这里插入图片描述

我们查看下他们各自的网络:

我们发现进入到容器内,没有ip addr 命令,这里是因为centos是压缩版的,其实我们应该先用dockerFile构建一个自己的镜像,但是不要担心,这里我们可以补救,这里不推荐大家这么使用,太慢了,等一会儿咱们构建个自己的镜像:

在这里插入图片描述

进入容器,先通过apt-get update更新软件包,然后我们apt-get install net-tools,就可以了,这是使用ifconfig命令,还可以使用,这是安装IP addr命令,都一样

apt update && apt install -y iproute2   # 因为安装这个不好安装,所以没有用这个

在这里插入图片描述

这里看下网络,tomcat01分配了172.17.0.2地址:

在这里插入图片描述

我们再看下tomcat02:

在这里插入图片描述

我们ping一下,发现不管是主机到容器,容器到容器都是可以ping通的

主机ping容器:

在这里插入图片描述

容器ping主机,我们需要安装一个ping命令

apt-get install inetutils-ping

在这里插入图片描述

容器ping容器,也是可以的:

在这里插入图片描述

但是我们通过名称呢,发现是不可以的;

在这里插入图片描述

思考:但是这样就产生了一个问题,我们只能通过启动容器docker分配的网络地址来使用,容器和容器之间,并不能通过固定的名称来互相访问,这样是不行的!

这里我们首先可以通过–link

比如我们在开启一个tomcat03,但是命令是这样的:

docker run -it -d -P --name tomcat03 --link tomcat02 tomcat:9.0

我们进入容器tomcat3,试着通过名字去ping tomcat02,测试可以ping通:

在这里插入图片描述

那用tomcat02 ping tomcat03呢,还是不可以的:

在这里插入图片描述

那它这个原理呢,其实很简单,我们查看下容器中/etc/hosts目录,其实就是把ip地址和名字做了下绑定:

在这里插入图片描述

所以我们可以ping到02其实还是找到了它的IP地址,但是这种方式我们不怎么使用,因为后面还有更好的方式,就是我们可以自定义网络,下一篇自定义网络;

我们还可以通过docker network inspect 容器id查看网络信息

小结

下一篇我们看下docker如何自定义网络,谢谢支持,bye~

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值