5
respostas

Meu volume mapeado não está sincronizando

Meu dockerfile:

FROM node:latest

MAINTAINER Sandro Carvalho

ENV NODE_ENV=development

COPY .  /var/www

WORKDIR /var/www

RUN npm install 

ENTRYPOINT ["npm", "start"]

EXPOSE 3000

Meu diretorio no windows 8:

C:/Projetos/teste

A aplicação está sendo executado de dentro desse diretório.

Quando eu acesso o container, eu vejo todos os arquivos copiados, perfeito.

Mas quando eu crio um novo arquivo dentro do :

C:/Projetos/teste, ele não sincroniza, não reflete no meu diretório de trabalho.

O que eu posso está fazendo de errado???

O comando que estou usando para rodar o container que eu criei é:

docker run -d --name appteste ncordnas/node
5 respostas

Fala ai Sandro, beleza? O problema é o seguinte, você faz a cópia dos arquivos apenas no build da imagem.

Depois, toda alteração em C:/Projetos/teste apenas será sincronizada se você fizer o build novamente, para resolver o problema, você precisa mapear e criar volumes do container para a máquina sua.

Em sua imagem, altere o seguinte arquivo:

FROM node:latest

# Está deprecated
MAINTAINER Sandro Carvalho

# Novo MAINTAINER
LABEL maintainer="Sandro Carvalho"

ENV NODE_ENV=development

COPY .  /var/www

WORKDIR /var/www

VOLUME /var/wwww

RUN npm install 

ENTRYPOINT ["npm", "start"]

EXPOSE 3000

Veja que adicinei a opção de VOLUME, agora para rodar o container, faça da seguinte maneira:

docker run -d --name -v ./:/var/www appteste ncordnas/node

Obs: O ./ é referente onde o comando run será executado, dessa maneira, ele deve ser rodado dentro de C:/Projetos/teste.

Acho que deve resolver o problema, agora toda modificação feita em C:/Projetos/teste deve refletir no volume, e sendo assim, sincronizar no container.

Espero ter ajudado.

Matheus, obrigado... vou testar agora... já estava aqui desesperado rs. Obrigado.

Olá Matheus , eu testei a solução que você me deu mas não resolveu, infelizmente.

Eu estou usando ubuntu agora.

Criei o volume do jeito que você falou, mas nada... se crio algum arquivo do lado servidor.... não reflete por nada no volume do container.

Já tentei de tudo que está no meu conhecimento e nada.

Beleza Sandro, hoje de noite vou fazer uns testes com a sua imagem e os comandos que está utilizando e te dou uma resposta, era para ter funcionado sim.

Obrigado