当前位置: 首页 > 面试题库 >

如何配置Docker容器以使container_ip:port从主机外部可以访问?

毛正浩
2023-03-14
问题内容

我有一台具有分配给一个网络接口的多个IP地址的主机。我想配置Docker,以使容器将每个容器“响应”到分配给主机的这些IP地址的单个IP。

可以使用libcontainer完成此操作,还是必须使用LXC驱动程序并使用来运行我的容器--lxc-conf="lxc.network..."

提前致谢。

更新

我希望每个容器都可以从外面拿到。使用默认Docker配置时,我只能暴露端口host_ip:exposed_port并不能通过到达容器container_ip:port。可以以某种方式配置第二个选项吗?


问题答案:

这个答案以一种非常简单的方式确切地解释了我想要获得的东西。

这个想法是要在主机上具有不同的IP地址,例如在单个网络接口上使用IP别名,然后启动每个容器,
指定 暴露端口 外还 可以访问它们 的IP地址 (请参见链接的答案)。一个例子)。



 类似资料:
  • 问题内容: 我有一个运行詹金斯的码头集装箱。作为构建过程的一部分,我需要访问在主机上本地运行的Web服务器。是否可以将主机Web服务器(可以配置为在端口上运行)暴露给jenkins容器? 编辑:我正在Linux机器上本地运行docker。 更新: 除了下面的@larsks答案之外,要从主机获取主机IP的IP地址,我还要执行以下操作: 问题答案: 在Linux上本地运行Docker时,您可以使用接口

  • 我有一个docker容器在运行Jenkins。作为构建过程的一部分,我需要访问在主机上本地运行的web服务器。有没有一种方法可以将主机web服务器(可以配置为在端口上运行)公开给jenkins容器? 编辑:我正在Linux机器上原生运行docker。 更新: 除了@larsks下面的答案之外,要从主机获取主机IP的IP地址,我还做了以下操作:

  • 我想在EC2主机内使用部署应用程序。 出于本问题范围以外的原因,其中一个服务将使用常量docker标记,如。 图像将定期更新(相同的标记,不同的),因此我需要运行。 我的问题是,是否有一种公开的API的方法,以便可以使用对EC2实例的API调用来调用它,从而避免必须ssh到计算机中。

  • 我有一个docker应用程序,我使用以下docker compose。yml运行它: 我有一个没有docker化的服务器在我的机器上运行,我可以通过访问它。我希望我的服务能够访问它。 我发现有人建议在我的服务配置中添加以下内容: 但是当我添加这个时,并尝试,我得到。当我尝试<code>curl时,也会出现同样的错误http://host.docker.internal:3000。 我拼命地尝试将端

  • 我有两个docker容器在我的Mac主机上运行-容器1是docker Hub的Jenkins,容器2是docker Hub的SonarQube。我有两个容器成功运行。我可以通过从我的主机访问Jenkins,我可以通过访问我的SonarQube。 詹金斯容器是这样启动的: SonarQube容器是这样启动的: 难道我不应该能够从我的主机通过它们的内部IP地址访问每个容器吗? 我如何测试一个容器(例如

  • 问题内容: 我正在开发服务,并在那里使用docker compose来旋转诸如postgres,redis,elasticsearch之类的服务。我有一个基于RubyOnRails的Web应用程序,并从所有这些服务中进行读写操作。 这是我的 我可以在此网络中ping容器 到目前为止,一切都很好。现在我想在主机上的Rails应用程序上运行ruby,但是能够像目前这样使用url访问postgres实例