4

如果启用了 docker 的 VM 重新启动,例如由于 Azure 修补 VM 或出于任何原因,节点可以获得新的 IP 地址(VirtualBox 可能导致此问题,Azure 也是如此)这反过来导致证书不再有效并且Docker 无法在该机器上启动。

如果我使用 Docker Swarm,结果是重启的节点会无限期地卡在 Pending 状态。

如果我再做一个,docker-machine regenerate-certs mymachine那么它会再次开始工作。

我应该如何推理?我想没有办法让节点重新启动,那么您如何处理呢?

4

1 回答 1

3

关于 Azure,您可以使用“保留 IP”地址确保您的 VM 在重新启动后保留其公共 IP 地址。请注意,在 Azure 上使用保留 IP(与其他云提供商一样)可能会产生额外费用。https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-reserved-public-ip/

处理此问题的另一种方法是使用发现。Swarm 提供了一种支持 etcd、consul 和 zookeeper 的发现机制。在此处查找更多详细信息: https ://docs.docker.com/swarm/discovery/

于 2016-03-12T07:25:29.990 回答