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

是否可以将静态公共IP分配给Docker容器?

焦学海
2023-03-14
问题内容

我一直在尝试将五个公共IP之一分配给我的docker容器。由于docker的性质及其用途,似乎这应该是可能的。我找到了我认为可以解释我要做什么的网站,但是自从Docker离开LXC以来,它不再起作用:

http://programster.blogspot.com/2014/06/docker-run-multiple-docker-websites-
on.html

我曾尝试与我的容器使用的IP建立静态NAT连接,但无法正常工作。docker IP没有显示在我的路由器页面上,只有主机IP才显示。

我的问题是:

是否可以将静态公共IP分配给Docker容器,如果可以,如何做?

是否可以在我的路由器配置页面上显示一个docker IP,如果可以,怎么办?

谢谢。


问题答案:

可能的解决方案,但我现在无法测试。 如果这不正确,请通知我。

使用macvlan创建虚拟网络接口:

参见 https://superuser.com/questions/175475/ip-address-alias-assigned-by-
dhcp

命令:

ip link add dev macvlan0 link eth0类型macvlan#macvlan0是v卡的名称(lol)

使用管道将容器连接到虚拟网络接口:

参见 https://github.com/jpetazzo/pipework/#connect-a-container-to-a-local-
physical-interface

命令:

管道系统macvlan0 $ {$ containerid)dhcp



 类似资料:
  • 我现在尝试在启动Docker容器时分配静态IP172.17.0.1。 我使用端口2122作为该容器的ssh端口,以便让该容器侦听端口2122。 这个命令将运行一个带有随机IP的Docker容器,如172.17.0.5,但我需要为容器分配一个特定的IP。 下面的shell脚本是我在高级网络设置中引用Docker文档的部分。 此shell脚本将分配一个静态IP 172.17.0.1并链接到world

  • 问题内容: 有什么方法可以将分配给容器。因此,容器具有公共IP。客户端可以使用IP访问容器。 问题答案: 对于当前发布的Docker版本,这是不可能的(无需在Docker背后进行大量手动工作),尽管它几乎没有必要。 Docker通过使用端口映射在容器中公开网络服务,并且端口映射可以绑定到主机上的特定IP地址。所以,如果你想有一个在Web服务器,并在另一个网站服务器,首先确保该地址可在主机上: 然后

  • 我有一个嵌入式系统开发映像包含在一个Docker文件中。为了闪存代码,我需要通过USB串行连接到节点(例如)。 甚至可能通过udev规则公开特定的devs吗?

  • 问题内容: 我想为容器分配一个端口,以便在每次重新启动容器后都获得相同的端口。 示例:我有一个容器,其中有一个Apache。Apache在容器内的端口80上运行。现在,在启动容器后,docker将一个主机端口分配给该容器端口,例如:49154->80。但是该主机端口在重新启动后会更改,具体取决于正在运行的容器的数量。我试图在容器的config.json文件中指定端口,但该端口被覆盖。 是否可以手动

  • 问题内容: 我在一个具有不同进程的应用程序上工作,并被要求包含那些进程以实现更多隔离。 问题在于,进程与单个“管理程序”进程共享内存以便交换数据(它们使用经典的共享缓冲区)。该解决方案是为满足性能要求而实施的,因为它在用户空间中运行,因此在用户空间和内核空间之间没有内容切换。 如果我没看错,则不可能在单个IPC名称空间内运行多个docker容器,但是我不知道单个docker容器是否可能属于不同的I

  • 问题内容: 和之间有什么区别? 例如 : 要么 问题答案: 尽管您 确实 希望遵守约定,但在功能上没有什么区别(字节码将 完全相同 ),请访问JLS-8.3.1。场修饰符: __ 这将是奇怪的,看.. 我也建议您访问checkstyle。 编辑: 从同一页面链接到该部分: http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls