如何使用桥接模式构建docker网络

小编给大家分享一下如何使用桥接模式构建docker网络,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

创新互联专业为企业提供恩平网站建设、恩平做网站、恩平网站设计、恩平网站制作等企业网站建设、网页设计与制作、恩平企业网站模板建站服务,十年恩平做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

# 主机环境 ubuntu server 14.04,虚拟机

# eth2:192.168.56.101

# eth3: 192.168.58.101

# 192.168.56.0/24     管理网络

# 192.168.58.0/24     数据网络,容器使用的网络

# 切换到 root 用户执行以下命令

1、配置 Linux Bridge

     brctl addbr br100

     ip addr add 192.168.58.110/24 dev br100     # 给桥设置一个 IP,这样主机可以直接访问容器

     ip link set dev br100 up

2、配置 Docker 守护进程

     echo 'DOCKER_OPTS="-b=br100"' >> /etc/default/docker

     sudo service docker start


3、启动容器,设置网络模式为 none,自己配置容器网络

     sudo docker run -it --net=none ubuntu:14.04 /bin/bash

4、查看容器进程 id

     docker inspect -f '{{.State.Pid}}’ CONTAINER_ID

     pid=xxx

5、创建 namespaces 的目录

     mkdir -p /var/run/netns

     ln -s /proc/$pid/ns/net /var/run/netns/$pid

6、创建 veth 设备,分配给容器,绑定到桥

     ip link add vetha type veth peer name vethb

     brctl addif br100 vethb
     

     ip link set vethb up

     ip link set vetha netns $pid

     ip netns exec $pid ip link set dev vetha name eth0

     ip netns exec $pid ip link set eth0 up

     ip netns exec $pid ip addr add 192.168.58.121/24 dev eth0

     ip netns exec $pid ip route add default via 192.168.58.110

7、绑定 eth3 到 桥

     brctl addif br100 eth3

     ip addr del 192.168.58.101/24 dev eth3     # 删除 eth3 的 IP

     ip addr add 192.168.58.101/24 dev br100    # 把 eth3 的 IP 加到 桥中

看完了这篇文章,相信你对“如何使用桥接模式构建docker网络”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


本文名称:如何使用桥接模式构建docker网络
URL地址:http://scyanting.com/article/iheppe.html