千家信息网

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

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,小编给大家分享一下如何使用桥接模式构建docker网络,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!# 主机环境 ubuntu server 14.04,虚拟机# eth2:192.
千家信息网最后更新 2025年01月25日如何使用桥接模式构建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网络"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

0