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

<style></style>

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 开头的

  14. docker bridge0 详解

 

5. 查看 test1 的网络 

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

  并且 veth85d9927@if5 是连到了 docker0 上

14. docker bridge0 详解

 

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

  安装验证工具 bridge-utils

    sudo yum install bridge-utils

  使用 brctl show

    14. docker bridge0 详解

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

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

7. 桥接网络图

  14. docker bridge0 详解

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

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

 

上一篇:为什么Linux需要将IP从eth接口移动到桥接接口


下一篇:halcon学习-相机标定与图像径向或透视畸变的校正