‫Então, o que fazemos com esse arquivo?
‫Bem, vamos sair. Nós vamos ver neste diretório que nós apenas temos esse arquivo.
‫É apenas um k de tamanho.
‫Obviamente, não tem nada além do texto, mas são as instruções sobre como construir
‫nossa imagem.
‫O comando from, quando eu construo essa imagem, vai realmente puxar essa imagem Debian jessie do Docker Hub
‫para o meu cache local. executar linha por linha, cada uma dessas
‫estrofes dentro do meu motor docker e armazene cada uma dessas camadas.
‫E então ele vai
‫Vamos criar a imagem do docker e nós vamos marcá-la.
‫Lembre-se, esse é o nome que vamos dar uma imagem.
‫Como não vou usar essa imagem localmente, não tenho que usar o nome da minha conta Docker Hub. Posso chamar o
‫que quiser.
‫Eu vou chamar isso de nginx personalizado, e vou colocar um ponto aqui, o que, basicamente, diz,
‫crie o dockerfile neste diretório. E você verá como isso passa
‫por isso, que cada etapa é uma linha no dockerfile que está executando dentro dessa imagem, pois está construindo.
‫E, em seguida, há um pouco de hash no final, que é realmente o hash que
‫ele mantém no cache de compilação, para que na próxima vez que construamos isso, se essa linha
‫não tiver mudado no dockerfile, ele não o reencaminhará.
‫Esta é uma das peças mágicas de por que o Docker faz a implantação e o desenvolvimento de software tão rápido que
‫é realmente inteligente o suficiente para armazenar em cache as etapas da compilação.
‫Então, muitas vezes, depois de você ter construído uma imagem pela primeira vez, e você realmente está
‫mudando seu código-fonte personalizado e não necessariamente alterando a aplicação em si, todas
‫essas coisas de instalação já aconteceram.
‫Então, você terá tempos muito curtos.
‫Ok, então agora acabamos de construir. Isso levou cerca de um minuto.
‫Mas, e se eu voltar nesse arquivo? Eu vou adicionar uma porta exposta adicional.
‫Por exemplo, eu vou fazer 8080.
‫Agora, isso não significa que o nginx seja inteligente o suficiente para saber que estou abrindo esta porta, ou que
‫está de alguma forma se comunicando com o nginx.
‫É só eu, permitindo que o recipiente receba pacotes naquela porta.
‫Apenas para ter certeza, vamos fazer uma imagem docker. que marcou automaticamente como o mais recente, certo?
‫Veremos no
‫topo
‫Porque chamamos apenas o nome do repositório.
‫Na verdade, nós não lhe damos um nome de marca de cólon quando marcamos isso.
‫Então, vamos construí-lo novamente.
‫Uau, isso foi rápido, certo?
‫Isso nos levou apenas alguns segundos. E você notará que, em cada passo, ele vai dizer usando o cache. usando o cache em 3, usando
‫cache em 4.
‫Começando com a Etapa 2, ele vai dizer usando cache, Em 5, reconhece no passo 5, que essa
‫linha é diferente.
‫Então, ele realmente executa isso no recipiente. E então, no Passo 6, ele deve executar novamente essa
‫linha porque o minuto que uma linha muda, cada linha depois disso agora precisa ser reconstruída também.
‫Isso traz o ponto sobre o pedido de suas linhas em seu Dockerfile. Porque, se você conseguir as coisas fora Digamos que você esteja Se você estiver copiando o código de software que você está criando no início do arquivo, cada
‫de ordem, por exemplo, vez que você alterar um arquivo de origem e
‫se você copiou o código. construindo um site. você reconstruir, ele terá que criar o Dockerfile inteiro novamente.
‫em seguida, as coisas que mais muda na parte inferior do seu Dockerfile.
‫Portanto, é extremamente importante para sua sanidade e tempo que
‫você geralmente mantém as coisas no topo do seu Dockerfile que mudam o mínimo e,
‫