sdi*_*mar 9 libvirt linux-networking kvm-virtualization docker debian-stretch
在 Debian-Stretch 主机(连接到物理 LAN)上,我有一个新的 docker 安装(v18.09)和一个数据库容器(端口映射到主机),我运行 KVM/libvirt 和一些 Debian-Stretch VM。我可以从 LAN 访问 docker 容器和 VM(取决于通过 SSH 隧道或直接配置的配置),但我很难从 VM 访问 docker 容器。
# brctl show
bridge name bridge id STP enabled interfaces
br-f9f3ccd64037 8000.0242b3ebe3a0 no
docker0 8000.024241f39b89 no veth35454ac
virbr0 8000.525400566522 yes virbr0-nic
Run Code Online (Sandbox Code Playgroud)
在阅读了几天之后,我在这篇文章中找到了一个非常引人注目的解决方案Docker 和 KVM 带有一个我没有开始工作的桥(原始)。该解决方案建议使用一行配置 daemon.json 代码启动 docker 以使用 KVM“默认”网桥。那该有多好!有希望吗?
我在 KVM 虚拟机之间尝试了两种不同的网络配置。在这两种情况下,VM 与 LAN+路由器+云之间的通信都完美无缺,但我只是不知道如何越过围栏 - 到更绿的草地...... :)
Conf 1 - KVM 默认桥接与 NAT:我可以通过 ssh 连接到 Debian 主机并访问 docker 容器端口,但是否有直接路由的设置?
会议 2 - macvtap 适配器在桥接模式下连接到 LAN:尽管两者都连接到同一路由器,但我无法从 VM ping 主机 LAN IP。来自 VM 本身的响应是Destination Host Unreachable
. 有什么想法吗?
在单独的 VM 中运行 docker 守护进程会比直接在 Debian 主机上运行更好吗?这样,容器和 VM 都可以访问 KVM 默认桥接器。但我认为在 KVM 主机上的 VM 中运行 docker 有点奇怪。
任何明确的指导将不胜感激!
顺便说一句,桥br-f9f3ccd64037
是我用 docker 创建的用户定义桥,用于未来的容器间通信。它没有被使用。
更新:
我刚刚意识到,通过第一个配置,我可以通过 VM 来宾的 IP 地址 (172.17.0.2) 简单地连接到 docker 容器。
我的初始设置是第二个配置,因为我想将 RDP 连接到 VM,这更容易,因为 macvtap 驱动程序将 VM 直接连接到 LAN,并且不需要 SSH 链接。那是我无法够到容器的时候。
解决方案就像链接文章中所述的那样简单。我不确定为什么我的配置在第一次重新启动 docker 守护程序时没有更改。
在我在Docker 守护进程文档中找到daemon.json 中的网桥参数的证据后,我再次尝试,docker 守护进程在启动时选择了 KVM 默认网桥。
首先,我按照文档中的建议创建了配置文件,/etc/docker/daemon.json
其中包含以下内容(甚至可能不需要 iptables 行):
{
"bridge": "virbr0",
"iptables": false
}
Run Code Online (Sandbox Code Playgroud)
所需要的只是:
docker stop mysql
systemctl stop docker
systemctl start docker
docker start mysql
Run Code Online (Sandbox Code Playgroud)
现有的 docker 容器正在 KVM 桥上运行。可以通过以下方式检查容器的 IP 地址:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql
192.168.122.2
Run Code Online (Sandbox Code Playgroud)
我不确定现在是否可以删除 docker0 桥,但该容器与三个虚拟机一起列在 virbr0 下。
brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.024241f39b89 no
virbr0 8000.068ff2a4a56e yes veth2abcff1
virbr0-nic
vnet0
vnet1
vnet2
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9703 次 |
最近记录: |