Estou tentando envolver minha mente no Docker e nas várias ferramentas em torno dele. E um problema comum para mim é que, se minhas máquinas virtuais forem reiniciadas, elas podem acabar com endereços IP diferentes. por exemplo. O VirtualBox faz isso quando está sendo executado localmente, o Azure faz isso ao corrigir VMs.
Então, como faço para lidar com isso em um ambiente de janela de encaixe? Por exemplo, o link
$ 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
Nesse caso, eles estão apontando a descoberta de serviço para um IP fixo, o IP da máquina do mh-keystore.
Se minhas VMs forem reiniciadas e os IPs forem atualizados, essa configuração falhará, pois pode acabar apontando para uma máquina completamente diferente.
Então, para um desenvolvedor que não está acostumado com o lado operacional. Quais são as minhas melhores apostas aqui? Use nomes DNS? forçar as máquinas a ter IPs estáticos? (não tenho certeza se isso é mesmo uma opção em todos os ambientes)
Há um problema relacionado a isso quando as máquinas são reiniciadas, o Docker às vezes acaba não iniciando, reclamando que os certificados estão fora de sincronia, pois os IPs foram alterados.
executando Docker-machine regenerate-certs ....
resolve isso.
Mas a minha impressão é que o docker geralmente funciona mal com endereços IP atualizados.
Qualquer indicação sobre isso seria bem-vinda também.
Tags networking docker