Salve, Deus, beleza? Continuando, você sabe que o nosso módulo de Docker, eu queria voltar naquele Dockerfile que eu mostrei na aula passada para poder falar sobre duas instruções que são muito importantes. A Workdir, que a gente já pondeirou na aula passada, mas só para poder deixar mais claro ainda o uso dela. E o Expose, que muita gente confunde ali com a publicação de portas, mas na verdade ele tem um intuito documental, mas a gente vai discutir nessa aula. Então, bora aqui para o Vest Code. Como a gente falou na última aula, a Work Gear, ela delimita ali qual é o diretório de trabalho, então o que a gente fizer de copy, de run, vai acabar tendo incidência sempre aqui na workgear. Eu poderia não delimitar a workgear. Quando eu faço esse copy aqui, ele iria para a raiz. Algumas imagens, elas às vezes, determinam o workdir, outras não. Normalmente, imagens de linguagem de programação, ela deixa para você definir. Você vai pegar PHP, Node, Java e tudo mais. Então, não tem nenhuma workdir definida. Aí, eu poderia colocar aqui um barra index, porque ficaria tudo na raiz, mas o npm install daria erro. Aí a gente teria que fazer um cd barra, como não tem o workdir, ou delimita aqui o workdir como a própria raiz mesmo. Mas vê como que isso é estranho, como ficaria estranho. Então, a workdir, apesar dela não ser obrigatória, ela ajuda a gente a organizar o que a gente quer fazer na imagem. Então, sempre. Você tem a aplicação, você tem um lugar que você vai colocar os seus arquivos, a gente vai colocar o nosso diretório de trabalho e acaba beneficiando lá quando você faz o ESEC, você já entra nessa WorkD. Beleza. Então, isso aqui ficou claro. Agora, vamos para o ficou claro. Agora vamos para o expose. Vamos fazer aqui o seguinte. Vou fazer o build novamente. E nós podemos fazer um run sem exposição de porta. Claramente, nós não vamos conseguir acessar esse container, porque está tudo interno lá no namespace, mas vamos fazer aqui um container ls ou docker ps. A gente vê aqui que não há nenhuma porta exposta. E uma coisa que às vezes é ruim de você pegar uma imagem de alguém é você não saber qual é a porta. Normalmente pega banco de dados, como é algo já muito difundido, a gente sabe que MySQL é 3306, Postgres é 5432, MongoDB é 27017, enfim. A gente já tem essa consciência, mas imagina você está pegando outras aplicações novas e aí você tem que ficar olhando o código ou ficar olhando alguma coisa. A gente pode colocar algo aqui que já deixa claro qual é a porta que nós queremos que as pessoas exponham. Então, a gente usa normalmente, lá no finalzinho, um expose. Eu posso colocar várias portas. Posso colocar... Ah, estou expondo a 80, estou expondo a porta qualquer. Mas no nosso caso aqui, apesar da 3000 levantar a nossa aplicação, a gente não quer expor ela, a gente quer que as pessoas usem o NGINX para deixar o Node.js protegido. Então, essa informação aqui, ela não publica porta nenhuma, ela é apenas documental. Olha só. Vamos fazer aqui... Ele vai dar erro lá, então, vamos fazer o stop e, novamente, fazer o build. Agora, rodando a aplicação novamente, eu não expus porta nenhuma. E aqui ele está mostrando que nós podemos usar a porta 8000. Então, isso aqui não publica nada, é apenas uma documentação. Então, você pode vir ali com uma imagem que ela te informa várias portas. Isso é bem bacana. Isso aqui é uma forma de formalizar a porta que a gente quer que seja exposta. Então, pessoal, vamos continuar nossa saga. É isso aí e até a próxima.