首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >映射端口+ macvlan问题

映射端口+ macvlan问题
EN

Stack Overflow用户
提问于 2022-04-28 13:41:04
回答 1查看 214关注 0票数 1

我需要一个容器,在主机上有端口可用,这样它总是可以连接到同一主机名,但也有一个二级网络连接,使容器自己的局域网IP (通过macvlan)。

从技术上讲,这两者都可以在一个网络接口上实现吗?

该机器的主要接口是fbond0,在该接口之上创建了macvlan网络:

代码语言:javascript
复制
docker network create -d macvlan --subnet 10.123.56.0/22 --ip-range=10.123.59.64/27 -o macvlan_mode=bridge -o parent=bond25g macvlan214

当容器通常以端口映射开始时,它按预期工作:

代码语言:javascript
复制
PORTS                                                              
0.0.0.0:49215->22/tcp, 0.0.0.0:49216->5000/tcp           

一旦连接到第二个网络:

代码语言:javascript
复制
PORTS
22/tcp, 5000/tcp

断开连接后,我们得到新的映射:

代码语言:javascript
复制
PORTS
0.0.0.0:49217->22/tcp, 0.0.0.0:49218->5000/tcp

我们已经在不同的服务器上使用了此设置,但由于该服务器不在相关的VLAN之外,因此添加了一个(VLAN‘’ed)网络接口,因此就操作系统而言,公开的端口与macvlan功能不在同一接口上。

我想我们可能需要一个类似的解决方案?增加第二个虚拟网络接口,这样我们就可以分开东西了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-29 06:23:42

对于未来的我和其他经历过这个问题的人来说,这显然与libnetwork如何选择默认网关有关。通常情况下,这将基于接口优先级,但考虑到您不能从配置中更改优先级,他们决定使用"按字母顺序选择第一个网络“。

基本上,因为我的macvlan是之前按字母顺序排列的,所以它被选择为默认网络。因为macvlan很像主机网络,所以它不支持端口映射。因此,端口被移除。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72044757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档