2
respostas

Build de imagem e arquivos

Olá professor,

Minha dúvida é quanto ao build.

Vimos que quando pegamos uma imagem no docker hub do ubuntu por exemplo e queremos criar um arquivo para deixar salvo temos que mapear um diretório local para o conteiner.

Mas se por acaso eu fizer o build da imagem com um diretório mapeado, por exemplo o www como colocado no curso, depois fizer o push pra o docker hub e quiser usar em outro servidor terei que mapear novamente esse diretório ou ele já está mapeado, ou terei que criar um diretório no pc local que seja igual ao mapeado na origem?

Enfim, esse container que eu subir em outro servidor, para não perder os dados terei que mapear novamente o diretório para o local ou não precisa, poderia me explicar melhor esse caso por gentileza?

Obrigado

2 respostas

Olá Cezar,

Vou tentar clarificar um pouco. Vamos lá...

Quando você baixa algo do docker hub, você baixa uma imagem. A imagem não vai mudar e pode ter diversos apps instalados. Quando você inicia um container a partir de uma imagem o que acontece é que, se tiver uma informação de VOLUME definida na imagem, o docker vai buscar um diretório pra mapear pro volume:

1 . vc pode definir qual diretório da sua máquina local está mapeado pra cada diretório definido como volume

2 . se vc não definir o docker cria uma pasta temporária na sua máquina local pra mapear o volume

Entenda que o conteúdo da pasta definida como volume, nunca será gravado no conteiner ou na imagem, se estiver como volume quer dizer que o container vai acessar os dados do host (máquina local).

Respondendo a pergunta, o container ou a imagem não armazena dados de volume. Você vai precisar mapear sempre que criar o container.

Dá pra carregar a informação de mapeamento se você copiar o container, mas isso é mais avançado e nem é muito aconselhável.

Qualquer dúvida fala aqui

Luan

Legal, ficou muito claro professor!

O Curso ficou ótimo, parabéns!

Se puder apenas me informar onde ele cria a pasta temporária lhe agradeço!

Att,