Guia Completo para Containerizar Aplicações com Docker no Linux
Na era da automação e da agilidade, a containerização de aplicações se tornou essencial para sysadmins e DevOps engineers. Este artigo resolve o problema de como containerizar aplicações de maneira eficiente e segura utilizando o Docker em um ambiente Linux.
Introdução ao Docker
O Docker é uma plataforma de containerização que permite desenvolver, compartilhar e executar aplicações de forma isolada. Cada contêiner Docker encapsula uma aplicação e todas as suas dependências, garantindo consistência em diferentes ambientes.
Instalando o Docker
Antes de começar, é necessário instalar o Docker. Aqui está como fazer em distribuições baseadas em Debian e Red Hat:
Debian/Ubuntu
# Atualiza o repositório de pacotes
sudo apt update
# Instala dependências
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
# Adiciona a chave GPG oficial do Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Adiciona o repositório estável do Docker
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# Atualiza o repositório de pacotes novamente
sudo apt update
# Instala o Docker
sudo apt install -y docker-ce
CentOS/RHEL
# Instala dependências
sudo yum install -y yum-utils
# Configura o repositório estável do Docker
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# Instala o Docker
sudo yum install -y docker-ce
Criando um Dockerfile
Um Dockerfile é um script de texto que contém uma série de instruções para construir uma imagem Docker. Vamos criar um Dockerfile simples para uma aplicação web em Python.
# Dockerfile
FROM python:3.8-slim-buster
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY..
CMD ["python", "app.py"]
Explicando o Dockerfile
FROM: Especifica a imagem base.WORKDIR: Define o diretório de trabalho.COPY: Copia arquivos do sistema host para o contêiner.RUN: Executa comandos no contêiner.CMD: Define o comando a ser executado quando o contêiner é iniciado.
Construindo e Executando Contêineres
Com o Dockerfile pronto, podemos construir e executar nossa imagem Docker.
# Constrói a imagem Docker
sudo docker build -t minha-app .
# Executa o contêiner
sudo docker run -d -p 5000:5000 minha-app
Gerenciando Contêineres
O Docker fornece comandos para gerenciar contêineres de forma eficiente.
Listando Contêineres
# Lista todos os contêineres
sudo docker ps -a
Parando e Removendo Contêineres
# Para um contêiner
sudo docker stop CONTAINER_ID
# Remove um contêiner
sudo docker rm CONTAINER_ID
Por que isso importa / Quando usar
A containerização com Docker é crucial para garantir a portabilidade e a consistência das aplicações em diferentes ambientes. Use Docker quando precisar:
- Isolar aplicações e suas dependências.
- Facilitar o deployment em diferentes ambientes.
- Automatizar o processo de build e deployment.
Conectando ao Tema de Certificação LPI/CompTIA
Dominar o Docker é essencial para obter certificações LPI (Linux Professional Institute) e CompTIA em Linux e DevOps. Estas certificações valorizam não apenas o conhecimento teórico, mas também a habilidade prática de implementar e gerenciar tecnologias de containerização.