‫Tudo bem. Estas são as respostas para a atribuição da criação do nosso primeiro Dockerfile. Se eu estiver na
‫raiz do nosso repositório, que você baixou desde o início
‫deste curso, devemos entrar na tarefa 1 do dockerfile. Se olharmos para lá, eu só tenho um arquivo
‫do qual eu realmente me importo, e esse é o Dockerfile.
‫Presumivelmente, esta é uma fonte que alguém me deu, e eles são um desenvolvedor de aplicativos que está usando Node. js, e eu realmente não sei muito
‫sobre isso, então eu vou editar o Dockerfile.
‫ESTÁ BEM.
‫sei que a primeira coisa que preciso fazer é que eu preciso pegar minha imagem FROM.
‫Se eu seguir as instruções do desenvolvedor, eu E eu sei que preciso usar o oficial do nó. Deixe-me ir procurar isso.
‫Certo. Há o oficial do nó.
‫Preciso da versão 6 em Alpine. Então, há 6 Alpine. Preciso expor a
‫Tudo bem. Então, 6-alpine. Estou expondo 3000 aqui porque é isso que o aplicativo foi projetado para ser executado.
‫Está bem. A próxima coisa. porta 3000. Mas quando eu executá-lo mais tarde com o docker executar, eu preciso lembrar que eu
‫vou ter que usar o -p com a porta 80 indo para a porta 3000.
‫Tudo bem.
‫um gerenciador de pacotes para instalar este aplicativo, tini.
‫Este precisa usar Vou usar um comando de corrida para isso.
‫Então vou fazer um diretório. Execute o apk add
‫Tudo bem. e, em
‫Eu apenas os separarei dos comandos de execução. seguida, execute o mkdir. ESTÁ BEM. Então eu preciso copiar em um único arquivo que parece.
‫Então, eu também posso mudar o diretório de trabalho para esse diretório que acabamos de criar.
‫Então, o aplicativo de origem do usuário do WORKDIR. Isso vai me poupar tempo depois.
‫Eu posso fazer um pacote
‫de cópia json json. Tudo bem. Então eu preciso executar um comando de instalação. Parece que será uma corrida. comando para limpar.
‫Este diz que execute outro
‫Tudo bem.
‫Bem, geralmente quando você executa um comando de limpeza, deseja que ele execute a mesma linha ou a mesma
‫linha de execução da instalação atual.
‫Dessa forma, remove tudo tudo ao mesmo tempo e você só obtém uma camada de imagem.
‫Isso é melhor para o espaço da imagem.
‫Então, vou adicioná-lo aqui.
‫E o que o duplo e o sinal, ou o e comercial como é chamado, é que aqui é realmente um condicional.
‫Diz à linha de comando no Linux que diz: 'Ei, se você fez o primeiro
‫e é bem sucedido, então faça o segundo comando. "Você também pode ver pessoas às vezes
‫colocando um ponto-e-vírgula, e também está bem.
‫A diferença é um ponto e vírgula não tem dependência de se o primeiro comando foi ou não bem-sucedido.
‫Ele apenas administra o segundo independentemente.
‫Então eu gosto do e comercial duplo.
‫Tudo bem. Essa é uma maneira
‫Copiando mais alguns arquivos que parece. Se eu vou copiar em tudo, vou apenas fazer um. fácil de fazê-lo. Certifique-se de que haja um espaço no meio.
‫Isso basicamente diz: 'Copie tudo do meu diretório
‫atual no host para o diretório de trabalho atual na imagem. ' ESTÁ BEM.
‫
‫Eu estou até o último.
‫E este parece um pouco complicado.
‫Eu tenho quatro partes diferentes do comando que eu preciso para executar lá.
‫Então, com este formato, eu preciso executar tini, então uma vírgula.
‫Então, isso está em um formato JSON.
‫Esta estrofe de comando particular. -, nó bin www.
‫E se eu estivesse curioso sobre isso, eu sempre poderia
‫ir ao meu navegador e fazer o docker executado ou docker build cmd.
‫E eu aposto que você faz referência ao Dockerfile. E aqui nesta página,
‫eu poderia ir para o cmd. E fala sobre a forma exata. Se você ler aqui, você notará que existe algo chamado de
‫formulário de shell. E também há
‫algo que eles estão mencionando sobre um ponto de entrada.
‫Vamos falar sobre isso mais tarde no curso em uma seção mais avançada do Dockerfile.
‫Mas, por enquanto, isso é bom.
‫Vamos tentar construí-lo. construção do docker. Eu realmente não me importo com o que eu chamo agora.
‫Só estou tentando testar a compilação e geralmente minhas compilações não funcionam pela primeira vez. Então, eu vou chamar
‫isso de testnode. Eu vou construir este diretório.
‫ESTÁ BEM.
‫Parece que ele foi construído corretamente.
‫Vamos ver se você pode executá-lo.
‫mantê-lo depois de testá-lo, então eu vou fazer isso.
‫Eu vou fazer um --rm porque eu realmente não me importo em
‫Eu não precisarei nomear isso.
‫Eu preciso colocar uma porta para abrir a porta. Ele quer correr em 80, mas ele escuta em 3000. ESTÁ BEM.
‫Essa é realmente uma mensagem normal que recebemos de tini, dentro
‫do Alpine, então não me preocuparia demais com isso.
‫Vamos ver se isso funciona.
‫Doce. Veremos os logs lá.
‫ESTÁ BEM.
‫Parece que é. obrigado capitão Picard.
‫Agradeço os aplausos.
‫Agradeço o apoio.
‫Obrigado.
‫Tudo bem.
‫Controle c de lá. Agora, deve estar no
‫topo da minha lista de imagens.
‫Eu preciso renomeá-lo antes de colocá-lo no Docker Hub.
‫Então, tag docker, e eu acredito que o formato é antigo e novo. Sim.
‫Então, tag de docker tagnode.
‫Eu vou chamar nó de
‫teste do bretpisher.
‫E vou deixá-lo mais tarde.
‫Então, empurre o docker, e isso. Tudo o que precisamos nos preocupar é o nome. Então, o nó de teste
‫do bretpisher do docker push.
‫Tudo bem. Vamos para Docker e olhe.
‫Lá vamos nós, teste nó.
‫ESTÁ BEM.
‫Eu vou limpar a tela e a imagem docker ls.
‫E, está lá. Eu vou removê-lo,
‫teste docker image rm bretpisher.
‫Tudo bem. Agora, eu realmente vou executá-lo, o container docker é executado --rm -p 80
‫3000 como antes.
‫Então eu realmente vou chamar nó de teste do bretpisher.
‫Isso deve ser baixado e executado.
‫Tudo bem.
‫Se eu voltar pelo meu navegador, localhost, lá está. Eu posso atualizar apenas para ter certeza.
‫Sim. Legal.
‫