Docker 可在公共域上访问的私有IP

Docker 可在公共域上访问的私有IP,docker,networking,dnsmasq,Docker,Networking,Dnsmasq,我有4个docker容器在我的docker主机上运行,它们的IP是192.168.16.0/24子网。Docker主机在我的组织网络上是可访问的,它位于子网10.0.0.0/16子网中,但容器不可访问,因为它们位于使用创建网桥的Docker network create创建的专用网络上 我通过将端口映射到docker主机创建了ssh隧道,并且我能够使用docker主机IP登录到不同端口上的容器 然而,我正在寻找一种更好的方法,用户可以直接从机器上访问容器。我们不能将docker主机作为dnsma

我有4个docker容器在我的docker主机上运行,它们的IP是192.168.16.0/24子网。Docker主机在我的组织网络上是可访问的,它位于子网10.0.0.0/16子网中,但容器不可访问,因为它们位于使用创建网桥的
Docker network create
创建的专用网络上

我通过将端口映射到docker主机创建了ssh隧道,并且我能够使用docker主机IP登录到不同端口上的容器


然而,我正在寻找一种更好的方法,用户可以直接从机器上访问容器。我们不能将docker主机作为dnsmasq服务器,并将docker主机的IP提供给客户端(子网10.0.0.0/16上同一组织中的另一台机器)以解析私有子网吗?处理这种情况的任何想法。

您可以创建IP VLAN/MAVLAN docker network(),地址范围为10.0.0.0,专用于这些容器,并且在此网络上创建的容器将直接暴露于您的10.*网络-ipvlan/MAVLAN的主要限制是无法与docker主机本身通信,但它们可以相互通信,也可以与网络的其他部分通信。

您可以创建ipvlan/macvlan docker网络(),地址范围为10.0.0.0,专用于这些容器,在此网络上创建的容器将直接暴露于您的10.*网络-ipvlan/MAVLAN的主要限制是无法与docker主机本身通信,但它们可以相互通信,也可以与网络的其他部分通信。

使用
docker run-p
选项使用主机的IP地址从容器中发布端口。切勿查找或直接查找容器专用IP地址;在许多常见情况下,如您在这里描述的情况,它们根本不起作用。请使用
docker run-p
选项使用主机的IP地址从容器中发布端口。切勿查找或直接查找容器专用IP地址;在很多常见的情况下,比如你在这里描述的,它们就是不起作用。谢谢。我测试了mtacvlan和ipvlan,它工作正常。问题是,我无法从我的组织DNS服务器租用IP。然而,我仍然希望从客户机访问容器,为此我需要一个更好的机制。有没有人用dnsmasq进行过同样的测试?可以用dnsmasq吗?谢谢。我测试了mtacvlan和ipvlan,它工作正常。问题是,我无法从我的组织DNS服务器租用IP。然而,我仍然希望从客户机访问容器,为此我需要一个更好的机制。有没有人用dnsmasq进行过同样的测试?有可能使用dnsmasq吗?