问题标签 [macvlan]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 通过本地网络共享 Docker 容器并从另一台主机访问它
我尝试通过我的本地网络共享一个容器,以便从同一网络上的另一台机器访问这个容器。我遵循了 tihs教程(“使用 macvlan 设备”部分),并成功共享了一个简单的 Web 容器并从另一台主机访问。
但是我要分享的容器要复杂一点,因为他通过宿主机上的内网与宿主机上的其他容器通信。
我尝试绑定在我的 docker-compose 中创建的现有容器,但我无法访问它。你能帮我吗,或者如果是的话,请告诉我我错在哪里?
这是我的 docker-compose :
docker - 带有 iptables/netfilter 的 docker macvlan
在我的主机上,我在桥接模式下创建了 2 个 macvlan 接口。一个在主网络命名空间中,另一个在 docker 容器中。两个接口都在同一个子网中。
到目前为止一切正常。
现在主机和容器的流量应该由 iptable-rules 过滤。
由于两个 macvlan 接口都连接到同一个物理接口,我很难理解它是如何工作的。
是否需要将 iptable-rules 放入容器和主机。(因为它们位于不同的命名空间中)或者主机可以以某种方式过滤到容器的流量?
macvlan-interfaces 是隔离的还是看到彼此之间的流量?
有没有“最佳实践”?
kubernetes - 无法通过 macvlan 访问不同工作人员(节点)中的 pod
我有一个 kubernetes 集群,它有 1 个 master 和 2 个 worker,并通过 kubeadm 部署。
对于网络,我使用 multus 并创建了两个 cni,默认是 calico,另一个是macvlan。
在我创建了 3 个 pod 后,它们被部署到 2 个 worker 上,并且同一个 worker 中的 pod 可以 ping 通,但是不同 worker 中的 pod 都无法 ping 通。
我怎么查?非常感谢!
docker - tcp ip 连接到 macvlan 网络中 docker 容器中的打开端口
我正在驱动程序驱动的 docker 网络中启动一个容器macvlan
,这是我docker-compose.yml
文件的相关位:
当驱动程序是bridge
我可以nc localhost 4001
访问我的容器并建立连接时,现在使用 macvlan 这似乎不再工作了,我不知道如何访问它。
有任何想法吗?
谢谢,
docker - 在主机网络上运行 Docker 容器
我想为 a 分配一个静态 IPdocker container
并让它像主机网络上的虚拟机一样工作。
例子:
10.10.10.0/24的网络
运行 Docker 的物理主机 IP:10.10.10.1
Docker容器IP:10.10.10.2
现在显然,只要我有一个单独的 NIC 用于容器,这很容易——否则 ARP 就会出现问题。我已经阅读了macvlan
网络,它们似乎是解决这个问题的一种方法:
https://docs.docker.com/network/macvlan/
但是,它明确表示:
在这种情况下,您需要在 Docker 主机上指定一个物理接口用于 Macvlan,以及 Macvlan 的子网和网关。
这个物理接口是否仍然可以携带一个“正常”的 IP 地址,以便它可以与网络上的其他物理主机通信?
docker - 无法创建没有匹配网关的 Docker 网络
我在 Hetzner 上有一个裸机服务器,IP 为 5.6.7.8 和 8 个为我保留的额外 IP。
IP:1.2.3.144 到 1.2.3.151
子网:1.2.3.144/29
网络掩码:255.255.255.248
广播:1.2.3.151
网关:5.6.7.8
现在我想创建类型为macvlan的 Docker 网络
但是这个命令会导致错误
网关 5.6.7.8 没有匹配的子网
请注意,当我在主机上的虚拟机上设置例如 IP 1.2.3.150 和网关 5.6.7.8 时,它可以正常工作!但我无法在Docker network create命令中设置这个不匹配的网关。
docker - Docker网络macvlan驱动:网关不可达
我有一个使用以下命令创建的 macvlan 网络:
p>其中 wlp2s0 是我的笔记本电脑的无线接口的名称。网关是 192.168.1.1 和子网 192.168.1.0/24
然后我创建了一个容器并将其附加到该网络:
p>此外,我使用 virtualbox 提供程序创建了一个具有桥接网络接口的虚拟机。
如果我使用 ping 命令:-docker 容器-> vm ubuntu(vm 的 ip:192.168.1.200):ping 有效
但如果我使用 ping 命令:- docker container -> gateway 192.168.1.1 或 - docker container -> external world (google.com): ping not works
建议?
编辑1:
如果我在 docker 主机上运行 tcpdump ( tcpdump -i icmp ),我会看到:
其中 192.168.1.56 是我的 docker 容器,而 216.58.205.142 应该是谷歌 IP 地址。没有收到回显回复。
docker - 带有mac-vlan网络的docker容器在重新启动后显示错误的IP?
大家好,我在 docker 中创建了一个带有 mac-vlan 类型的网络,因为我希望我的容器与主机在同一个 LAN 上。现在我注意到的奇怪的事情是,当我停止然后使用 docker start 命令重新启动容器时容器启动,但分配给它的 IP 是在容器关闭之前分配的 IP。当容器重新启动时IP不会改变此外容器现在无法访问,因为它显示为自己的IP现在已经重新分配给网络上的另一台机器,从我读到的容器被分配了与以前相同的IP但是如果容器无法获取 IP,则无法启动,但我的容器可以正常启动。我在这里想念什么?上ubuntu version 17.10 docker version 17.11.0-ce Api version 1.34 (both client and server)
docker - Docker-在容器中组合多个MAC地址
我正在尝试找到一种方法在我的 SmartThings 集线器(cast-web-api 和 MQTT-Bridge)上运行 2 个使用 MAC 地址作为唯一网络 ID 的服务
现在,我构建了一个 docker-compose.yml 文件,它可以满足我的需要,但我想将我的 eth0 桥接到容器上的 2 个不同的 MAC 地址。目标是保留 DHCP 并将路由器中的静态 IP 分配给“Mac1”“Mac2”。
我正在使用 Docker 版本 19.03.1 和 docker-compose 版本 1.24.1
我尝试使用“mac_address:”但没有成功还尝试使用该接口运行接口和构建,例如: 这篇文章
到目前为止我的文件(版本 1)
有可能实现我之前描述的吗?也许Macvlan桥接?我需要将 docker-compose 升级到版本 2 或 3 吗?
docker - 将 Docker 容器连接到家庭网络
我在 Windows 10 的 Virtual Box 上运行的“Ubuntu Docker 主机”上运行一些 frr(自由范围路由)和 ceos(Arista)容器。
我创建了一个 macvlan 网络(net3)并将其绑定到 Ubuntu 的 enp 接口并将我的容器连接到它。但是,我无法使用连接到 macvlan 网络的接口访问我的容器。我阅读了有关主机和容器之间网络空间的一些限制,并将 macvlan 网络类型视为克服这些限制的解决方案。然而它没有用。
由于我的容器是一个具有多个接口的路由器,我希望我可以将我的新 net3 网络连接到我的容器。它会显示为一个新接口(确实如此),当我将家庭网络中的 IP 地址分配给该接口时,我的路由器将能够使用该接口的 IP 地址直接与外部通信并绕过任何类型的防火墙、NAT等
我知道我们可以使用连接到默认 docker0 网络的桥接网络,然后如果我们发布端口等,它将对来自容器的传出连接进行 NAT 并接受传入连接。但是我想要一个具有 2 个接口的容器,其中一个接口是在 docker0 网桥中,另一个使用来自家庭网络的 IP 地址连接到家庭网络,这将像物理机或我的案卷主机 Ubuntu VM 一样将其完全暴露给外部。