14. docker bridge0 详解

Posted zonehoo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了14. docker bridge0 详解相关的知识,希望对你有一定的参考价值。

1.创建一个 container

  docker run -d --name test1 busybox /bin/sh -c "while true; do sleep 3600; done"

2.查看 docker 的网络情况  查看docker 上有哪些网络

  docker network ls

NETWORK ID          NAME                DRIVER              SCOPE

385c87f45f0e        bridge              bridge              local

78e50edb53c5        host                host                local

d5d0532ce8d7        none                null                local

3.查看 test1 的网络是连接到那种 driver 上的

  docker network inspect [ bridge 的 network_id]

  输出中包含了 containers , 其中包含了 Name 为 test1

4. 查看 container 的 network 

  ip a

  其中   docker0 是本机器 在docker 内的Namespace

  docker0 下的 test1 的Namespace 为虚拟的 是 以 veth 开头的

  技术图片

 

5. 查看 test1 的网络 

  docker exec test1 ip a  可以看出eth0@if6 和 vetha9bfb69@if5 是一对

  并且 veth85d9927@if5 是连到了 docker0 上

技术图片

 

6. 验证 veth85d9927@if5 是连到了 docker0 上

  安装验证工具 bridge-utils

    sudo yum install bridge-utils

  使用 brctl show

    技术图片

    interfaces 的 数值 刚好与 container test1 的对外接口 对应上

    说明 container test1 的对外接口 是通过 docker0 桥接出去的

7. 桥接网络图

  技术图片

8. 容器是如何访问外网的 

  是通过 NAT 技术 查询 ip tables 然后访问的

 

以上是关于14. docker bridge0 详解的主要内容,如果未能解决你的问题,请参考以下文章

Docker详解

Docker教程

Docke 1 12 基础篇 48条命令 6

docker详解

Docke 1 12 基础篇 48条命令 3

强力的应用容器引擎——Docker网络部分详解