容器网络——如何为docker添加网卡?
之前我们介绍Network Namespace(以下简称netns)和veth pair时说过docker是使用这些技术来实现的网络隔离,今天我们就来一探究竟,看下docker到底是如何做到的。 启动一个无网络的容器 首先我们使用 --net=none 参数启动一个无网络的容器,为了方便调试,这里我们使用了centos镜像。 docker run -itd --name centos-test --net=none centos 启动成功之后我们进入容器内部确认一下是否无网卡。 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 28dc2e8853df centos "/bin/bash" 24 seconds ago Up 23 seconds centos-test [root@localhost ~]# docker exec -it 28dc2e8853df bash [root@28dc2e8853df /]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 可以看到确实只有一个本地环回网卡。 ...