docker容器指定主机同网段方式
作者:喂!你在吗?
文章介绍了如何使用Docker的macvlan网络模式,让容器直接连接到物理网络,提高网络性能和稳定性,同时,也提供了创建、绑定、配置和解除容器网络的相关命令
docker容器指定主机同网段
使用macvlan网络模式可以让Docker容器直接连接到物理网络,而不需要通过NAT或端口映射的方式来访问它们。
可以提高网络性能和稳定性,同时也可以使容器更易于管理。
1、查询网卡的名称
使用ifconfig命令查看网卡名:
ifconfig [网卡名]: inet [主机IP] netmask [子网掩码] broadcast [网关地址]

2、创建网络并绑定物理网卡
网络模式 macvlan
macvlan 可以将虚拟网卡跟主机共用同一网段。
docker network create -d macvlan --subnet=172.168.1.0/24 --gateway=172.168.1.1 -o parent=eth0 网络名称
-o parent=eth0 将虚拟网络绑定网卡
docker network create -d macvlan --subnet=[网段] --gateway=[网关] -o parent=[网卡] macvlan
例如:
我的网卡名是eth0,网关是192.168.1.1
这样我可以创建一个名字叫new_macvlan01的macvlan网络如下:
docker network create -d macvlan --subnet=192.168.1.1/24 --gateway=192.168.1.1 -o parent=eth0 new_macvlan01
3、容器一个固定IP
可以使用如下命令创建一个容器,并给它一个固定IP:
docker run -it --name [容器名] --net macvlan --ip=[固定IP] [镜像名] /bin/bash
例如:
我想以centos8镜像创建一个名字叫test的容器,并给它一个IP为192.168.1.10
docker run -it --name test --net macvlan --ip=192.168.1.10 centos8 /bin/bash
其他命令
4、解除容器绑定的网络
docker network disconnect 网络名称 容器名称
5、为容器重新指定网络
docker network connect 网络名称 容器名称
6、为容器重新指定网络和ip
docker network connect 网络名称 容器名称 --ip 192.168.252.10
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
