首页 > tips > CentOS7下用macvlan驱动实现docker实例直接使用主机所在的网络

CentOS7下用macvlan驱动实现docker实例直接使用主机所在的网络

2016年7月23日 发表评论 阅读评论

环境:CentOS 7.2(最好升级到7的最新版)
docker主机信息(eth0:10.0.0.10/24,缺省网关:10.0.0.1)
首先,安装最新的docker,这里是:1.12.0, build 8eab29e

tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
 
yum -y install docker-engine;

然后,启动docker,并将其设置为随着机器启动而启动

systemctl start docker.service;
systemctl enable docker.service;

再接着,创建新的网络,跟现有docker主机所在网络桥接

docker network create -d macvlan --subnet=10.0.0.0/24 --gateway=10.0.0.1 -o parent=eth0 MACNET;

最后,再新建一个ip地址为10.0.0.11的docker实例,并证明跟主机所在网络是直通的

docker run --net=MACNET --ip=10.0.0.11 -it --rm alpine /bin/sh;
ping -c 5 10.0.0.1;

上面ping命令证明是能ping通网关的,从别的网段也能ping通10.0.0.11

此外,有个地方比较疑惑:本来跟驱动macvlan一起的还有个驱动叫ipvlan,但是在这里只有macvlan能用,ipvlan就不行,报找不到这个驱动!
我知道了,貌似是因为CentOS7.2的kernel 3.10只支持macvlan,还不支持ipvlan

分类: tips 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.