Eu tenho um monte de servidores em execução no dockerrecipientes com docker-for-windows. Por causa de como o docker funciona no windows, todos são colocados dentro do hyper-v vm e, em seguida, os contêineres são executados lá. Portanto, para acessar um servidor que está vinculado ao host local, eu realmente uso o ip do adaptador virtual do hyper-v.
Então eu posso conectar ao meu servidor usando 10.0.75.2: 3579 quando estou na máquina do Windows. Agora, quero que o usuário zerotier faça a ponte entre todos os contêineres do Docker para uma LAN virtual, para que eu possa acessar meus contêineres fora da rede da minha escola. O ZeroTier cria um adaptador virtual chamado "zerotier one virtual port": Como funciona agora é que se eu executar servidores nohost windows machine (bare metal) então eu posso acessá-los usando o meu zerotier ip 10.147.17.221:port. MAS isso não conecta o meu material docker desde que ele está em um adaptador diferente, o que significa que eu preciso estar fisicamente na máquina para fazer qualquer material relacionado ao docker. Como rotear ou conectar o adaptador zerotier ao adaptador docker hyper-v para que eu possa acessar meus contêineres docker externamente usando o zerotier ip?
Respostas:
1 para resposta № 1Eu não tenho uma VM do Windows para tentar isso, mas usaria uma rede docker para o efeito. Por exemplo:
rede docker criar privado
execução do docker --rm --name rede - rede privada -p host_port_1: container_port_1 -p host_port_2: container_port_2 nginx: latest
execução do docker --rm --name db - rede privada -p host_port_3: container_port_1 -p host_port_4: container_port_2 postgres: latest
Deixe-me saber como vai.
1 para resposta № 2
A melhor solução que eu inventei é não usar o zerotier. Eu mudei para o ngrok, que permite o redirecionamento para o ip local.