我已在私有云VM(RHEL 7.2)上安装了docker,浮动IP为10.135.118.6 我还有一个与第三方数据库服务器通信的Java Play应用程序。数据库在白名单中列出了浮动IP 10.135.118.6,以便我的Java Play App可以与它建立连接。 现在我希望将此Java Play应用程序停靠,但在这样做时,分配给docker容器的IP地址使用默认的docker bridge进行映射,其IP最终为172.17.0.2(动态IP) 这对我来说是一个问题,因为我的新IP未在我的数据库服务器上列入白名单,最终会停止容器。
有什么办法可以将VM浮动IP分配给我的docker容器而不是docker bridge网络IP吗?
为达到这个:
首先,您可以使用自定义子网创建自己的docker网络(例如JavaPlay_net)
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