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

Como acessar os arquivos da imagem criada?

Já vimos que conseguimos acessar os arquivos do exemplo de node desta forma:

docker run -p 8080:3000 -v "D:\docker_testes\codigos-fonte-node:/var/www/" -w "/var/www" node npm start

Depois de criada a imagem, o comando para iniciar ficou assim:

docker run -d -p 8080:3000 flavio/node

Mas como eu acesso os arquivos (html, css, etc)?

Outra coisa. Se no arquivo Dockerfile já colocamos EXPOSE 3000 para a porta, por que mesmo assim precisamos colocar 8080:3000?

2 respostas
solução!

Olá, Flávio. Tudo bem?

Você pode iniciar um container tendo acesso ao seu terminal usando os parâmetros -it ao executar o comando docker run.

Se você executar

docker run -it -p 8080:3000 flavio/node

Quando a imagem for colocada para rodar, ela vai te dar acesso ao shell e você vai poder navegar pelo sistema de arquivos.

Se a imagem já estiver rodando, você pode executar docker ps para pegar o ID do container desejado e executar

docker exec -it [ID-do-container] /bin/bash

para ter acesso ao shell, podendo acessar os arquivos.

Quando você coloca o EXPOSE 3000, você está instruindo ao docker que ele deixe a porta disponível para conexões. Já passando o parâmetro -p 8080:3000, você define que as conexões que forem feitas na porta 8080 do host serão atreladas, redirecionadas, à porta 3000 do container que foi exposta. Por isso que sua aplicação dentro do container pode receber as requisições.

Espero ter ajudado. Se tiver alguma dúvida, é só dizer.

Perfeito! Obrigado!