查看: 72|回复: 0

[云和虚拟化] docker容器指定主机同网段方式

[复制链接]

0

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-5-23
发表于 2025-12-19 11:26:02 | 显示全部楼层 |阅读模式

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持琼殿技术社区。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部