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

如何为Docker容器分配静态公共IP

贺桐
2023-03-14
问题内容

有什么方法可以将分配static public IP给容器。因此,容器具有公共IP。客户端可以使用IP访问容器。


问题答案:

对于当前发布的Docker版本,这是不可能的(无需在Docker背后进行大量手动工作),尽管它几乎没有必要。

Docker通过使用端口映射在容器中公开网络服务,并且端口映射可以绑定到主机上的特定IP地址。所以,如果你想有一个在Web服务器192.168.10.10,并在另一个网站服务器192.168.10.20,首先确保该地址可在主机上:

ip addr add 192.168.10.10/24 dev eth0
ip addr add 192.168.10.20/24 dev eth0

然后启动第一个容器:

docker run -p 192.168.10.10:80:80 mywebserver

最后启动第二个容器:

docker run -p 192.168.10.20:80:80 mywebserver

在以上命令中,该-p选项用于将端口映射绑定到特定的IP地址。现在,您有两个容器在同一端口(端口80)上提供服务,但使用不同的IP地址。



 类似资料:
  • 问题内容: 我一直在尝试将五个公共IP之一分配给我的docker容器。由于docker的性质及其用途,似乎这应该是可能的。我找到了我认为可以解释我要做什么的网站,但是自从Docker离开LXC以来,它不再起作用: http://programster.blogspot.com/2014/06/docker-run-multiple-docker-websites- on.html 我曾尝试与我的容

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

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

  • 问题内容: 当我启动新容器时,Docker会自动为它们分配一些MAC地址。我很好奇这项作业是否有模式。MAC地址可以更改吗? $泊坞窗网络检查网桥 问题答案: Docker开始为第一个容器分配始终相同的mac ,然后为每个不同的容器将每个mac增加一个。 不知道为什么他们要使用该mac地址。看来与oui数据库中的任何实际供应商都不匹配。查看有关此内容的官方文档。他们说: MAC地址是使用分配给容器

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

  • 如何调用从公共静态空白到非静态的公共空白碎片类?或者有另一种方法在(listViewHolder.dot.setOnClickListener(new View.OnClickListener()和公共无效搜索3())