Estou com duvida sobre volumes no docker, para rodar uma aplicação node com express no docker preciso ter o node instalado na minha maquina para criar o código do app ?... e então passar no docker-compose minha pasta com a aplicação como um volume ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Estou com duvida sobre volumes no docker, para rodar uma aplicação node com express no docker preciso ter o node instalado na minha maquina para criar o código do app ?... e então passar no docker-compose minha pasta com a aplicação como um volume ?
Oi, Vinícius. Tudo bem?
Você não precisa, necessariamente, ter o node instalado na máquina física para desenvolver uma aplicação Node. Você poderia usar o container Docker como seu ambiente de desenvolvimento e para isso você precisaria criar um diretório para criar o código da aplicação e depois passar ele como volume para o container. Mas para fazer isso, você precisa já ter todos os pacotes que você precisa para desenvolver definidos no seu package.json.
Ter o node instalado na sua máquina vai te ajudar a gerenciar as dependências, pois os comandos npm vão proporcionar que você possa adicionar as dependências corretamente no seu package.json. Neste vídeo tem um tutorial de exemplo de como usar o docker-compose para um ambiente de desenvolvimento para aplicações Node.
Agora caso você não queira mesmo ter o Node instalado, você precisaria rodar uma imagem Base tipo um Debian, executar o shell dentro dele e ir executando todos os comando lá dentro, inclusive a instalação do node, como se estivesse fazendo pela máquina física. E aí você precisaria também ter um volume para que as alterações fiquem salvas. O problema seria garantir que esse volume não seria deletado acidentalmente.
Espero ter ajudado. Bons estudos!