首页 文章

如何从家庭网络中的另一个LAN PC访问docker容器

提问于
浏览
1

我是docker world的新手,我在windows 10环境(笔记本电脑)中使用带有Oracle VM的虚拟盒的docker . 我可以从主机pc访问容器(例如tomcat) . But I want to access the container from another desktop pc within the same LAN.

为此,我创建了一个仅具有以太网和虚拟主机以太网适配器#3的桥接网络,并在我的虚拟机XYZ中将此新桥用作适配器3 . 我试图将图像运行为

docker run --name testomcat -d -p 192.168.0.100:8087:80 tomcat:latest .

但没有运气 . 容器未能启动 .

驱动程序在 endpoints 错误上编程外部连接失败 .

我是在正确的轨道吗?请帮忙吗?

1 回答

  • 2

    这是可能的 . 您可以使用不同的配置 .

    NAT + Bridged Adapter

    在此配置中,您将拥有NAT适配器1和桥接适配器2.桥接适配器将使用与您的其他PC相同的源 . 因此,如果其他PC使用wifi,那么也将其保留在Wifi上 .

    这将直接从WIFI为您的VM提供IP . 让'假设这个IP为 192.168.0.101 ,你的主机IP为 192.168.0.100 ,其他PC在 192.168.0.102

    适配器1

    Adapter 1

    适配器2

    Adapter 2

    现在,从您的主机PC和其他PC,您可以在 .101 上访问该应用程序 . 您将容器作为

    docker run --name testomcat -d -p 8087:80 tomcat:latest
    

    NAT + Port Forwarding

    在这种情况下,您将拥有一个NAT适配器并启用8087到8087的端口转发 . 泊坞窗运行将保持不变

    docker run --name testomcat -d -p 8087:80 tomcat:latest
    

    端口映射

    Port Mapping

    该应用程序将在 192.168.0.100:8087 到达

    Troubleshooting

    如果没有那么你需要检查的东西很少

    sudo iptables -S | grep -i reject
    sudo iptables -S | grep -i drop
    

    上面不应该给你拒绝流量或丢弃流量的规则

    sudo ufw status
    

    确保防火墙也已禁用

相关问题