Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

ERRO AO ACESSAR VIA SSH

Pessoal, quando eu vou conectar nas VMs criadas com o comando abaixo, dá o erro IP not found. Veja abaixo também as máquinas criadas.

Obs. Estou utilizando o git bash porque com o CMD e o POWER SHELL não reconhece o docker-machine, executo sem como administrador.

d-net@NETO-PC MINGW64 ~ (master)
$ docker-machine ssh vm1
IP not found

$ docker-machine ls
NAME   ACTIVE   DRIVER   STATE     URL   SWARM   DOCKER    ERRORS
vm1    *        hyperv   Running                 Unknown   IP not found
vm2    *        hyperv   Running                 Unknown   IP not found
vm3    *        hyperv   Running                 Unknown   IP not found

Utilizando o git bash eu vejo o docker-machine instalado

d-net@NETO-PC MINGW64 ~ (master)
$ docker-machine --version
docker-machine.exe version 0.13.0, build 9ba6da9

Utilizando o CMD e o POWER SHELL

PS C:\> docker-machine --version
docker-machine : O termo 'docker-machine' não é reconhecido como nome de cmdlet, função, arquivo de script ou programa operável. Verifique a grafia do nome ou, se um caminho tiver sido
incluído, veja se o caminho está correto e tente novamente.
No linha:1 caractere:1
+ docker-machine --version
+ ~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (docker-machine:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
C:\>docker-machine --version
'docker-machine' não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.
8 respostas

Olá Neto, tudo bem?

O que aparece quando você cria uma máquina com o comando docker machine create?

Daniel, beleza e por ai ?

Cria a máquina normal.

$ docker-machine create -d hyperv vm1
Running pre-create checks...
Creating machine...
(vm1) Copying C:\Users\d-net\.docker\machine\cache\boot2docker.iso to C:\Users\d-net\.docker\machine\machines\vm1\boot2docker.iso...
(vm1) Creating SSH key...
(vm1) Creating VM...
(vm1) Using switch "comutador"
(vm1) Creating VHD
(vm1) Starting VM...
(vm1) Waiting for host to start...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: C:\Users\d-net\bin\docker-machine.exe env vm1

Daniel, Quando eu crio a máquina eu vejo que ela pega o IP.

d-net@NETO-PC MINGW64 ~ (master)
$ docker-machine ls
NAME   ACTIVE   DRIVER   STATE     URL                         SWARM   DOCKER     ERRORS
vm1    -        hyperv   Running   tcp://192.168.100.51:2376           v19.03.5

Eu acesso via SSH e dentro da VM eu coloco o comando abaixo e dá tudo certo Mas quando eu reinicio por algum motivo, a máquina perde o IP.

$ docker-machine ls
NAME   ACTIVE   DRIVER   STATE     URL                         SWARM   DOCKER     ERRORS
vm1    -        hyperv   Running   tcp://192.168.100.51:2376           v19.03.5
.
docker@vm1:~$ docker swarm init --advertise-addr 192.168.100.51
Swarm initialized: current node (gft8n4v7zi7dnjo8ed4lb88dg) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-1jnwkfkab1dlb04j99vyp87804xgwrqeoeus6bttpjadha3il0-2aa1xudjm8r9qapnrmlv8rnpa 192.168.100.51:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

Você fez alguma configuração específica em sua rede?

Você quer dizer no meu hyperv?

Sim, por exemplo.

solução!

Olá Neto, tudo bem? Conseguiu resolver o problema e continuar o curso? Caso não tenha conseguido, sugiro você verificar esse artigo, que fala sobre como corrigir alguns erros comuns do Docker Machine no Windows 10 com Hyper-V. O problema pode está relacionado ao próprio Hyper-V, então tente criar a máquina com o comando:

docker-machine create --driver hyperv --hyperv-virtual-switch DockerNAT vm1

Dessa forma, você está informando o que deseja utilizar o switch externo que por padrão é o DockerNAT. Outra alternativa em caso de persistência do erro é criar um "switch externo" próprio Hyper-V do Windows como na imagem abaixo:

imagem

Espero ter ajudado!

Boa tarde ..... Agradeço pela a ajuda de todos. Eu instalei o linux na minha máquina e o problema foi resolvido.