【Docker 系列】docker 学习八,Docker 网络

开始理解 docker

一开始,咱们思考一下,宿主机怎么和容器通信呢?

说容器之间是相互隔离的,那么他们是否可以通信?又是如何通信的呢?

开始探索

我们先来看看咱环境中的镜像都有些啥,有 xmtubuntu

# docker images
REPOSITORY            TAG       IMAGE ID       CREATED          SIZE
xmtubuntu             latest    c3e95388a66b   38 seconds ago   114MB

再来看看宿主机的网卡信息

ip addr来查看咱们宿主机的网卡信息

我们发现有一个docker0,是因为我们的宿主机上面安装了docker 的服务,docker 会给我生成一个虚拟网卡,图中的这个 docker0就是虚拟网卡信息

创建并启动一个docker 命名为 ubuntu1

docker run -it --name ubuntu1 -P xmtubuntu

查看一下宿主机网卡信息

查看宿主机的网卡信息

再查看 ubuntu1 的网卡信息,docker 也会默认给我们的容器分配ip 地址

可以发现宿主机的网卡信息 docker0 下面多了117: veth838e165@if116:ubuntu1的网卡信息上也正好有116: eth0@if117

我们发现这些veth的编号是成对出现的,咱们的宿主机就可以和 ubuntu1进行通信了

使用宿主机(docker0)和ubuntu1互相 ping

docker0pingubuntu1 ok

ubuntu1pingdocker0,同样的 ok

咱们可以尝试再创建并启动一个docker 命名为 ubuntu2,方法和上述完全一致

# docker run -it -P --name ubuntu2 xmtubuntu

进入容器,使用ip a查看到ubuntu2的网卡信息

宿主机上面查看网信息


宿主机上面又多了一个 veth , 119: veth0b29558@if118

ubuntu2上的网卡信息是118: eth0@if119,他们同样是成对出现的,小伙伴看到这里应该明白了吧

ubuntu1 ping ubuntu2 呢?

ubuntu1 对应 172.18.0.2

ubuntu2 对应 172.18.0.3

# docker exec -it ubuntu1 ping 172.18.0.3
PING 172.18.0.3 (172.18</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值