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
相关推荐
嵌入式学不会不改名1 分钟前
windSurf远程连接ssh过慢问题
运维·ssh
F1FJJ5 分钟前
开源实践:用 Go 实现浏览器直连内网 RDP/SSH/VNC
运维·网络·网络协议·网络安全·golang·ssh
天空属于哈夫克310 分钟前
企微私域自动化:从手动拉群到全流程无人值守的技术实现
运维·自动化·企业微信
集智飞行13 分钟前
禁用Ubuntu网卡的电源管理(Power Management)
linux·运维·ubuntu
u01339452716 分钟前
How to Run sample.war in a Tomcat Docker Container
java·docker·tomcat
可涵不会debug17 分钟前
五种IO模型
运维·服务器·网络
水木兰亭20 分钟前
多进程编程总结
linux·运维·服务器
艾莉丝努力练剑24 分钟前
【Linux:文件 + 进程】理解IPC通信
linux·运维·服务器·开发语言·网络·c++·ide
开开心心就好25 分钟前
安卓免费证件照制作软件,无广告弹窗
linux·运维·安全·pdf·迭代器模式·依赖倒置原则·1024程序员节
猿来如此呀29 分钟前
Linux 常用命令选项与对应英文单词对照表
linux·运维·服务器