在Docker中处理刷新的IP地址

我试图围绕着Docker和周围的各种工具。 而对我来说一个常见的问题是,如果我的虚拟机重新启动,他们可能会结束与不同的IP地址。 例如,VirtualBox在本地运行时执行此操作,Azure在修补VM时执行此操作。

那么如何在docker环境中处理这个问题呢? 例如, https://docs.docker.com/engine/userguide/networking/get-started-overlay/

$ docker-machine create \ -d virtualbox \ --swarm --swarm-master \ --swarm-discovery="consul://$(docker-machine ip mh-keystore):8500" \ --engine-opt="cluster-store=consul://$(docker-machine ip mh-keystore):8500"\ --engine-opt="cluster-advertise=eth1:2376" \ mhs-demo0 

在这种情况下,他们将服务发现指向一个固定IP,即mh-keystore机器的IP。

如果我的虚拟机重新启动,并且IP被刷新,这个设置将会失败,因为它最终可能指向一个完全不同的机器。

所以对于一个真正不习惯操作方面的开发者来说, 我在这里最好的投注是什么? 使用DNS名称? 强制机器有静态IP? (不知道这是否是每个环境中的一个选项)

当机器重新启动时,有一个相关的问题,Docker有时最终没有启动,抱怨由于IP已经改变,证书不同步。 运行Docker-machine regenerate-certs ....解决了这个问题。 但我的印象是,docker总体上玩刷新IP地址严重。 任何指针,也将受到欢迎。