Julgue o item seguinte, relativo a virtualização e orquestração de infraestrutura.
No dockerfile mostrado a seguir, com a execução do comando RUN pip install -r requirements.txt, serão instaladas as dependências listadas no requirements.txt, sem o armazenamento de caches, o que ajuda a reduzir o tamanho final da imagem.
FROM python:3.12 WORKDIR /usr/local/app COPY requirements.txt ./ RUN pip install -r requirements.txt COPY src ./src EXPOSE 5000 RUN useradd app USER app CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8080"]"0.0.0.0", "-- port", "8080"]
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoE — Errado
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Dockerfile: o comando RUN pip install e o cache de dependências
Gabarito: ERRADO. A afirmação está incorreta porque o comando RUN pip install -r requirements.txt, da forma como está escrito no Dockerfile, instala as dependências e armazena os caches do pip na camada da imagem, não o contrário. Para evitar o armazenamento de caches, seria necessário adicionar a opção --no-cache-dir ao comando, como em RUN pip install --no-cache-dir -r requirements.txt. A ausência dessa opção faz com que os arquivos de cache (como os pacotes .whl baixados) sejam gravados na camada da imagem, aumentando seu tamanho final.
O Dockerfile é um arquivo de texto com instruções que o Docker executa para construir uma imagem. Cada instrução (como FROM, COPY, RUN) cria uma camada na imagem. O comando RUN executa um comando dentro do container em construção e o resultado (incluindo arquivos criados ou modificados) é salvo como uma nova camada. O pip, ao instalar pacotes, baixa e armazena caches em um diretório (geralmente ~/.cache/pip ou /root/.cache/pip). Sem a opção --no-cache-dir, esses caches são mantidos na camada da imagem, contribuindo para o seu tamanho.
Para reduzir o tamanho da imagem, é uma prática comum usar --no-cache-dir no comando pip install. Outra técnica é combinar a instalação das dependências e a limpeza dos caches em uma única instrução RUN, como RUN pip install --no-cache-dir -r requirements.txt && rm -rf /root/.cache/pip. Isso garante que os caches não fiquem na camada final.
A pegadinha da banca está em inverter o efeito do comando: o candidato pode pensar que o pip install por padrão não armazena caches, mas na verdade ele armazena. A opção --no-cache-dir é que desativa o cache. É importante lembrar que, para reduzir o tamanho da imagem, é necessário explicitamente desabilitar o cache ou limpar os arquivos de cache após a instalação.
NÃO CAIA NESSA!
A banca inverte o efeito do comando pip install. O candidato pode achar que o pip por padrão não guarda caches, mas ele guarda. A opção --no-cache-dir é que desativa o cache. Lembre-se: para reduzir o tamanho da imagem, é preciso explicitamente desabilitar o cache ou limpar os arquivos de cache após a instalação.
1pip baixa pacotes
2armazena cache na camada
3aumenta tamanho da imagem
4[-] sem --no-cache-dir
LEVEL · soulevel.com.br
Item — ❌ ERRADO
A afirmação diz que "serão instaladas as dependências listadas no requirements.txt, sem o armazenamento de caches". Isso está errado porque o comando RUN pip install -r requirements.txtnão inclui a opção --no-cache-dir. Portanto, o pip armazenará os caches na camada da imagem, aumentando seu tamanho. Para que a afirmação fosse correta, o comando deveria ser RUN pip install --no-cache-dir -r requirements.txt.