Olá,
Ao seguir o guia de introdução ao cluster, estou enfrentando o problema ao ingressar no enxame local criado no virtualbox
Versões em uso
docker -v
Docker version 17.03.1-ce, build c6d412e
docker-machine -v
docker-machine version 0.10.0, build 76ed2a6
docker-compose -v
docker-compose version 1.12.0, build b31ff33
vboxmanage -v
5.1.20r114628
Aqui está o comando completo sendo executado
docker<strong i="12">@myvm1</strong>:~$ docker swarm init --advertise-addr 192.168.99.103:2376
Swarm initialized: current node (e2nvv6m8fadlcrzayk0ddp14c) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join \
--token <token-replaced> \
192.168.99.103:2376
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
docker<strong i="13">@myvm1</strong>:~$ exit
compose $ docker-machine ssh myvm2 "docker swarm join \
> --token <token-replaced> \
> 192.168.99.103:2376"
Error response from daemon: rpc error: code = 13 desc = connection error: desc = "transport: remote error: tls: bad certificate"
exit status 1
Alguma atualização sobre isso?
Enfrentando o mesmo problema
Por favor, note que eu sou capaz de fazer ping desses dois vms um ao outro.
Eu tenho um mesmo problema.
Eu instalei manualmente o docker-machine
, Eu tentei isso no centos 7 e no Ubuntu 16.04.
Docker version 17.03.1-ce, build c6d412e
docker-machine version 0.10.0, build 76ed2a6
Por favor me ajude.
Eu tenho o mesmo problema.
Funcionou para mim desta vez. Suponho que você esteja fazendo --advertise-addr com o IP e a porta que está em docker-machine ls
. Você tem que usar PORT 2377 de acordo com as instruções. Então, parece funcionar.
@lupulin , obrigado, funcionou para mim quando usei PORT 2377
@lupulin @dipuratheesan Eu tive o mesmo problema e funcionou para mim usando a porta 2377 também.
Tive o mesmo problema, 2377 parece funcionar, mas não tenho ideia do porquê.
@tstrijdhorst , na verdade, diz na documentação de introdução que a porta 2377 está reservada para unir nós ao enxame.
Nota: Obtendo um erro sobre a necessidade de usar --advertise-addr? Copie o endereço IP para myvm1 executando docker-machine ls e, em seguida, execute o comando docker swarm init novamente, usando esse IP e especificando a porta 2377 (a porta para swarm joins) com --advertise-addr. Por exemplo:
docker-machine ssh myvm1 "docker swarm init --advertise-addr 192.168.99.100:2377"
Sim, o mesmo aqui. Obrigado.
obrigado!
Funcionou para mim também - obrigado!
Se você usou "--advertise-addr" ao executar o comando ""docker swarm init....", então você precisa usar o sinalizador --advertise-addr ao ingressar nos nós também.
por exemplo
Nomeando o nó como gerente
docker swarm init --advertise-addr <ip>:<port>
nó de junção:
docker swarm join --token <token> --advertise-addr <ip>:<port>
Nota: IP e PORT são os mesmos em ambos os comandos acima.
2377 funcionou para mim!
O tutorial explicou que na nota sobre --advertise-addr
Obtendo um erro sobre a necessidade de usar --advertise-addr?
Copie o endereço IP para myvm1 executando docker-machine ls e execute o comando docker swarm init novamente, usando esse IP e especificando a porta 2377 (a porta para swarm joins ) com --advertise-addr
É confuso embora. O tutorial está correto, mas ao executar os comandos para inicializar o enxame do docker, um usuário vê:
$ docker-machine ssh myvm1 "docker swarm init --advertise-addr 192.168.99.100:2376"
Swarm initialized: current node (xpjllelqsli4xk2m9f8plzzc7) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join \
--token SWMTKN-1-2xw6b7rsyn5ou92rejukqvtayar3t9jz68eqd7y0m367psu7vf-dcdk4bd7lhashxx9ki460su7h \
192.168.99.100:2376
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
Nota: Porta 2376
Seria bom se a Máquina pudesse perceber que a mensagem gerada deveria dizer 2377, se isso for possível. Mas, eu sei que as máquinas estão, sob o capô, sendo criadas pelo VirtualBox e isso pode ser difícil de determinar.
Alterar a porta para 2377 funcionou para mim.
docker swarm join --token SWMTKN-1-RANDOMTOKEN 192.168.99.100:2377
2377 funcionou - o docker poderia corrigir o 'texto de cópia' gerado para corrigir isso?
2377funcionou para mim também
alguém poderia explicar o ip?
Tenho o mesmo problema 2377 funcionou. Talvez a frase do Get Started devesse ser reformulada para torná-la mais clara.
Tive o mesmo problema e a porta 2377 funcionou para mim. É estranho, porém, porque o docker-machine ls mostra a porta 2376. Definitivamente, há um bug aqui em algum lugar.
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
myvm1 - virtualbox Running tcp://192.168.99.100:2376 v17.06.2-ce
myvm2 - virtualbox Running tcp://192.168.99.101:2376 v17.06.2-ce
remova a porta
exemplo:
docker-machine ssh myvm2 "docker swarm join \
> --token
> 192.168.99.103:2376"
2377 é a porta de gerenciamento de enxames.
2376 é a porta do Docker Daemon.
Devemos sempre usar 2377 ou deixá-lo em branco e deixá-lo assumir o padrão
Usar a porta 2377 funcionou para mim - obrigado por este fórum 👍 🥇
A mensagem que está sendo emitida após a criação do enxame do docker não deve ser alterada da porta 2376 para 2377, há uma razão para que isso seja deixado como está?
Obrigado!
Ao unir o trabalhador ao nó do gerenciador, obtendo o seguinte erro
Resposta de erro do daemon: erro rpc: código = indisponível desc = todos os SubConns estão em TransientFailure, erro de conexão mais recente: erro de conexão: desc = transporte: handshake de autenticação falhou: x509: certificado expirou ou ainda não é válido
Resolvido: sincronização Ntp entre o gerenciador e o nó do trabalhador.
Comentários muito úteis
Funcionou para mim desta vez. Suponho que você esteja fazendo --advertise-addr com o IP e a porta que está em
docker-machine ls
. Você tem que usar PORT 2377 de acordo com as instruções. Então, parece funcionar.