Pessoal estou com algumas dúvidas relacionadas a volume:
1 - Desejo subir a aplicação vista na aula de volume, que mostra
Eu amo Docker
na página inicial e que usa Nodejs.Então essa é a minha imagem:
FROM node
COPY . /var/www
WORKDIR /var/www
RUN npm install
EXPOSE 3000
ENTRYPOINT npm start
e no meu docker.compose.yml:
version: "3"
services:
node:
build:
dockerfile: ./Dockerfile
context: .
image: node
container_name: nodejs
ports:
- "3000:3000"
volumes:
- "./:/var/www"
Como vocês percebem, desejo pelo meu docker-compose.yml
usar volumes, para que quando eu altera meu código local, apenas com o "reload" da tela consiga ver as alterações.
No entanto, eu não quero que a pasta node_modules
seja tbm copiada da minha máquina local para dentro do meu container
, então resolvi excluir com o intuito que ao ser criado o container pelo compose.yml
a node_modules
seja criada já no meu container . Mas por algum motivo quando fazemos isso, o package.json
é copiado, mas o comando npm install
não é realizado dentro do container recém criado. Alguém consegue me ajudar com isso ?
2 - Além disso tenho mais outra pergunta relacionada a volume: como posso definir volume direto no meu Dockerfile
para que eu tenha esse mapeamento entre pasta local e de dentro do container ? Outra dúvida, quando removemos um container, mesmo com o volume definido, quando subimos novamente um outro container mas com a mesma imagem, os dados mapeados no volume são mapeados novamente pra esse novo container
correto ?