Junior
Para que são utilizados os contentores?
sobes.tech IA
Resposta da IA
Os contêineres são usados para empacotar uma aplicação juntamente com todas as suas dependências (código, bibliotecas, ficheiros de configuração) num módulo padronizado e isolado, que pode ser executado em qualquer ambiente. Os principais objetivos do seu uso:
- Isolamento: Cada aplicação funciona num ambiente isolado, sem afetar outras aplicações ou o sistema base.
- Portabilidade: Um contêiner construído num ambiente garante que será executado e funcionará de forma idêntica em qualquer outro ambiente onde esteja instalado um motor de contêineres compatível (por exemplo, Docker).
- Reprodutibilidade: O ambiente de execução da aplicação torna-se determinista, eliminando o problema de "funciona na minha máquina".
- Gestão de dependências: Todas as bibliotecas e dependências necessárias são empacotadas juntamente com a aplicação.
- Uso eficiente de recursos: Os contêineres utilizam recursos de forma mais leve do que máquinas virtuais, pois partilham o núcleo do sistema operativo.
- Aceleração do deployment: O processo de construção e lançamento do contêiner é muito mais rápido do que criar e configurar uma máquina virtual completa.
- Suporte para arquitetura de microserviços: Os contêineres são ideais para deploy e gestão de microserviços individuais.
- Infraestrutura imutável: Em vez de atualizar servidores existentes, novos contêineres com a nova versão da aplicação são deployados.
Exemplo de Dockerfile para uma aplicação web simples em Python usando Flask:
# Usamos uma imagem base do Ubuntu
FROM ubuntu:latest
# Instalamos Python e pip
RUN apt-get update && apt-get install -y python3 python3-pip
# Instalamos dependências a partir do requirements.txt
COPY requirements.txt /app/
WORKDIR /app
RUN pip3 install --no-cache-dir -r requirements.txt
# Copiamos o código da aplicação
COPY app.py /app/
# Abrimos a porta que a aplicação escuta
EXPOSE 5000
# Comando para iniciar a aplicação
CMD ["python3", "app.py"]