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.