A seguir, é apresentado um arquivo Dockerfile para a criação de um contêiner. FROM node:18-alpine WORKDIR /app COPY . . RUN yarn install --production CMD ["node", "src/index.js"] EXPOSE 3000 A partir das informações precedentes e considerando que se esteja no mesmo diretório onde se encontra o arquivo Dockerfile, assinale a opção que apresenta o comando a ser executado para criar uma imagem do contêiner com o nome node-js.
- A)docker cp -t node-js .
Errada, porque docker cp serve para copiar arquivos entre o host e um contêiner, não para criar imagem.
- B)docker build -t node-js .
Certa, pois docker build -t node-js . constrói a imagem a partir do Dockerfile no diretório atual e a nomeia como node-js.
- C)docker push -t node-js .
Errada, porque docker push envia uma imagem para um repositório, e não cria a imagem a partir do Dockerfile.
- D)docker image -t node-js .
Errada, pois docker image é um comando de gerenciamento/listagem de imagens, não um comando de criação com -t.
- E)docker pull -t node-js .
Errada, porque docker pull baixa uma imagem de um repositório remoto, não constrói nem nomeia imagem local.
Gabarito: B
Em Docker, o arquivo Dockerfile funciona como uma receita para montar a imagem. Você diz qual é a imagem base, copia os arquivos, instala dependências e define qual comando será executado quando o contêiner subir. No enunciado, o Dockerfile já está no diretório atual, então o passo esperado é mandar o Docker construir a imagem a partir desse contexto. O comando para isso é o clássico "docker build", que lê o Dockerfile e gera a imagem. O argumento "-t" serve para dar nome e, se quiser, tag à imagem. Como o objetivo era criar uma imagem chamada node-js, o comando deve usar esse nome com a opção de tag. Por isso, o gabarito é a letra B: "docker build -t node-js .". O ponto final indica o contexto de build, ou seja, o diretório atual, de onde o Docker vai pegar o Dockerfile e os demais arquivos mencionados no COPY. É um detalhe pequeno, mas que a banca adora cobrar como se fosse uma casca de banana no caminho. Resumo prático: build cria imagem, run cria contêiner, push envia imagem para repositório e pull baixa imagem. Aqui, como a pergunta fala em criar uma imagem a partir do Dockerfile, não há mistério: é build mesmo.