Docker容器出站IP映射

时间:2018-09-18 09:24:15

标签: docker ip dockerfile docker-run

我已在带有浮动IP的私有云VM(RHEL 7.2)上安装了docker 10.135.118.6
我也有一个与第三方数据库服务器通信的Java Play应用程序。该数据库已将浮动IP 10.135.118.6列入了白名单,以便我的Java Play应用可以与其建立连接。

现在,我希望对这个Java Play App进行docker化,但是在这样做的同时,使用默认的docker bridge映射了分配给docker容器的IP地址,其最终IP范围为172.17.0.2(动态IP)。

这给我造成了问题,因为我的新IP没有在数据库服务器上列入白名单,这最终使容器停止。

有什么方法可以将VM浮动IP分配给我的Docker吗? 容器而不是docker bridge网络IP?

1 个答案:

答案 0 :(得分:0)

要实现这一目标:

首先,您可以使用自定义子网(例如JavaPlay_net)创建自己的docker网络

docker network create --subnet=172.32.0.0/16 JavaPlay_net

比简单地运行映像(例如ubuntu映像)

docker run --net JavaPlay_net --ip 172.32.0.22 -it ubuntu bash

然后在ubuntu shell中

hostname -i

您还可以使用

  • --hostname指定主机名

  • --add-host将更多条目添加到/ etc / hosts

创建Docker网络的参考:

https://docs.docker.com/engine/reference/commandline/network_create/#options