Docker 跨主机容器之间的通信macvlan

默认一个物理网卡,只有一个物理mac地址,虚拟多个mac地址

缺点:每次需要手动配置ip地址,容易ip地址冲突。类似于保存到execl表格里面。

两台物理机: docker-01和docker-02

创建macvlan网络

bash 复制代码
[root@docker-01 ~]# docker network create --driver macvlan --subnet 10.0.0.0/24 --gateway 10.0.0.254 -o parent=eth0 macvlan_1 
a2e790b4ac802c659e216b23096bb2f761361828f41498bf28392e8261fb7ea2
[root@docker-02 ~]# docker network create --driver macvlan --subnet 10.0.0.0/24 --gateway 10.0.0.254 -o parent=eth0 macvlan_1 
9c7839f953ba6f619d195872bc2a34791efa12b37c96754063041eadd876654e

创建使用macvlan网络的容器

bash 复制代码
[root@docker-01 ~]# docker run -itd --network macvlan_1 --ip=10.0.0.201 centos6_9_ssh_nginx:v1
[root@docker-02 ~]# docker run -itd --network macvlan_1 --ip=10.0.0.202 centos6_9_ssh_nginx:v1

互ping测试

bash 复制代码
[root@docker-01 ~]# docker exec -it lucid_mestorf /bin/bash
[root@cbeaf45ad4da /]# ifconfig |grep 10.0.0.
          inet addr:10.0.0.201  Bcast:10.0.0.255  Mask:255.255.255.0
[root@docker-02 ~]# docker exec -it 1e14992e9209 /bin/bash
[root@1e14992e9209 /]# ifconfig |grep 10.0.0.2
          inet addr:10.0.0.202  Bcast:10.0.0.255  Mask:255.255.255.0

在docker01的容器ping docker02容器的ip地址

在docker02的容器ping docker01容器的ip地址

bash 复制代码
[root@cbeaf45ad4da /]# ping 10.0.0.202 -c4
PING 10.0.0.202 (10.0.0.202) 56(84) bytes of data.
64 bytes from 10.0.0.202: icmp_seq=1 ttl=64 time=0.289 ms
64 bytes from 10.0.0.202: icmp_seq=2 ttl=64 time=1.44 ms
64 bytes from 10.0.0.202: icmp_seq=3 ttl=64 time=1.52 ms
64 bytes from 10.0.0.202: icmp_seq=4 ttl=64 time=1.31 ms

[root@1e14992e9209 /]# ping 10.0.0.201 -c4
PING 10.0.0.201 (10.0.0.201) 56(84) bytes of data.
64 bytes from 10.0.0.201: icmp_seq=1 ttl=64 time=2.64 ms
64 bytes from 10.0.0.201: icmp_seq=2 ttl=64 time=1.40 ms
64 bytes from 10.0.0.201: icmp_seq=3 ttl=64 time=0.521 ms
64 bytes from 10.0.0.201: icmp_seq=4 ttl=64 time=0.601 ms

设置eth0的网卡为混杂模式,ubuntu需要设置

bash 复制代码
ip link set eth1 promisc on
相关推荐
wanhengidc29 分钟前
云手机能够流畅运行大型游戏吗
运维·服务器·游戏·智能手机·云计算
繁华的地方不一定留下你的脚印1 小时前
ubuntu18.04版本配置静态IP并且可以上网(解决配置静态IP不能额上网的问题)
运维·服务器
业余幻想家2 小时前
Windows10/Windows11家庭版系统关闭自动更新
运维·windows
努力进修2 小时前
跨地域传文件太麻烦?Nginx+cpolar 让本地服务直接公网访问
运维·nginx·cpolar
Qayrup2 小时前
docker 搭建私有仓库,推送并拉取
运维·docker·容器
闪耀星星3 小时前
debian elctron-builder
运维·debian
会飞的土拨鼠呀3 小时前
Debian 12 笔记本合盖不休眠设置指南
运维·debian
郭庆汝3 小时前
docker拉取英伟达官方cuda11.8镜像
docker·cuda11.8
天下不喵4 小时前
Ubuntu24.04安装Docker过程记录
docker