K8s教程-docker网络模型
说明
macvlan
注意:ping 不通的情况下排除以下问题:
物理网卡开启混杂模式
虚拟机开启混杂模式:virtualbox-设置-网络-高级-混杂模式-全部允许
虚拟机服务器网卡开启混杂模式:ip link set 网卡名 promisc on
跨主机的网络模型,比如希望 docker 容器实现和宿主机一样的网段,并且客户互通,简单来说:把 docker 容器当做虚拟机来使用
# 宿主开启混杂模式
ip link set enp0s3 promisc on
# 查看
ip link show enp0s3 | grep PROMISC
# 创建 macvlan 类型的网络(子网和网关可以和宿主机一样), parent为网卡名
docker network create \
-d macvlan \
--subnet=10.0.26.0/24 \
--gateway=10.0.26.1 \
-o parent=enp0s3 test
# 查看网络
docker network ls
# 查看详细信息
docker network inspect test
# 容器指定网络和ip启动
# --privileged 代表特权模式,可以使用类似 systemctl 的命令
# 建议:请遵守容器设计原则,一个容器里运行一个前台服务!
docker run -itd \
--name centos7-test \
--ip=10.0.26.181 --network test \
--privileged centos:centos7 /usr/sbin/init
# 查看容器 ip
docker exec centos7-test hostname -I
# 测试网络
docker exec centos7-test ping 10.0.26.1
# 进入容器
docker exec -it centos7-test bash
参考文档
- 原文作者:zaza
- 原文链接:https://zazayaya.github.io/2021/08/04/docker-network-model.html
- 说明:转载本站文章请标明出处,部分资源来源于网络,如有侵权请及时与我联系!