Introdução
O Docker tornou-se uma ferramenta essencial para desenvolvedores, permitindo-lhes criar e gerenciar aplicações em contêineres com facilidade. Este tutorial guiará você pelo processo de configurar um ambiente de desenvolvimento Docker no macOS ou Windows, garantindo que você tenha as ferramentas e o conhecimento necessários para começar a construir e implantar aplicações baseadas em Docker.
Compreendendo os Fundamentos do Docker
O que é o Docker?
Docker é uma plataforma de código aberto que permite aos desenvolvedores construir, implantar e executar aplicações em um ambiente consistente e isolado, chamado contêineres. Os contêineres empacotam uma aplicação e todas as suas dependências, garantindo que a aplicação execute de forma confiável e consistente, independentemente da infraestrutura subjacente.
Contêineres Docker
Um contêiner Docker é um pacote leve, autônomo e executável que inclui tudo o que é necessário para executar uma aplicação – o código, o tempo de execução, as ferramentas do sistema e as bibliotecas. Os contêineres são isolados uns dos outros e do sistema operacional hospedeiro, proporcionando um ambiente consistente e confiável para a execução da aplicação.
graph LR
A[Aplicação] --> B[Dependências]
B --> C[Tempo de execução]
C --> D[SO]
D --> E[Contêiner Docker]
E --> F[Host Docker]
Imagens Docker
Imagens Docker são os blocos de construção dos contêineres. Uma imagem é um modelo de leitura somente, que contém as instruções para criar um contêiner Docker. As imagens são criadas usando um Dockerfile, que é um arquivo de texto que contém todos os comandos necessários para construir a imagem.
Registro Docker
O Registro Docker é um sistema de armazenamento e distribuição de imagens Docker. O registro público mais popular é o Docker Hub, que fornece uma vasta coleção de imagens pré-construídas para várias aplicações e serviços.
Arquitetura Docker
O Docker utiliza uma arquitetura cliente-servidor, onde o cliente Docker se comunica com o daemon Docker, que é responsável por construir, executar e gerenciar os contêineres Docker.
| Componente | Descrição |
|---|---|
| Cliente Docker | A interface de usuário do sistema Docker. Permite que os usuários interajam com o daemon Docker. |
| Daemon Docker | O processo em segundo plano que gerencia os contêineres e imagens Docker. |
| Registro Docker | Um repositório para armazenar e distribuir imagens Docker. |
| Rede Docker | Permite que os contêineres se comuniquem entre si e com o mundo exterior. |
| Volumes Docker | Fornece uma maneira de persistir dados gerados e usados por contêineres Docker. |
Instalando o Docker no macOS ou Windows
Instalando o Docker no macOS
- Visite o site Docker e faça o download do Docker Desktop para Mac.
- Execute o instalador e siga as instruções na tela para concluir a instalação.
- Após a instalação, o ícone do Docker aparecerá na barra de menu, indicando que o Docker está em execução.
Instalando o Docker no Windows
- Visite o site Docker e faça o download do Docker Desktop para Windows.
- Execute o instalador e siga as instruções na tela para concluir a instalação.
- Após a instalação, o ícone do Docker aparecerá na bandeja do sistema, indicando que o Docker está em execução.
Verificando a Instalação
Após instalar o Docker, você pode verificar a instalação abrindo um terminal (macOS) ou o PowerShell (Windows) e executando o seguinte comando:
docker version
Isso exibirá a versão do cliente Docker e do servidor Docker (daemon) instalado em seu sistema.
Instalação do Docker Compose
Docker Compose é uma ferramenta para definir e executar aplicações Docker multi-contêiner. Para instalar o Docker Compose:
- Visite o repositório Docker Compose no GitHub e faça o download da versão mais recente do Docker Compose para seu sistema operacional.
- Torne o arquivo baixado executável executando o seguinte comando (para Linux/macOS):
chmod +x docker-compose - Mova o binário Docker Compose para um diretório no PATH do seu sistema, como
/usr/local/bin/ou~/bin/.
Agora você pode verificar a instalação executando:
docker-compose version
Isso exibirá a versão do Docker Compose instalada em seu sistema.
Criando Ambientes de Desenvolvimento com Docker
Criando um Dockerfile
Um Dockerfile é um arquivo de texto que contém todos os comandos necessários para construir uma imagem Docker. Aqui está um exemplo de Dockerfile para uma aplicação web Python simples:
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "app.py"]
Este Dockerfile:
- Inicia a partir da imagem base
python:3.9-slim. - Define o diretório de trabalho para
/app. - Copia o arquivo
requirements.txtpara o diretório de trabalho. - Instala as dependências Python listadas em
requirements.txt. - Copia o código da aplicação para o diretório de trabalho.
- Especifica o comando para executar a aplicação (
python app.py).
Construindo uma Imagem Docker
Para construir uma imagem Docker a partir do Dockerfile, execute o seguinte comando no mesmo diretório do Dockerfile:
docker build -t my-python-app .
Isso construirá uma imagem Docker com a tag my-python-app.
Executando um Contêiner Docker
Para executar um contêiner Docker a partir da imagem my-python-app, use o seguinte comando:
docker run -p 8080:8080 my-python-app
Isso iniciará um novo contêiner e mapeará a porta 8080 no host para a porta 8080 no contêiner.
Desenvolvimento com Docker Compose
Docker Compose é uma ferramenta para definir e executar aplicações Docker multi-contêiner. Aqui está um exemplo de arquivo docker-compose.yml para uma aplicação web simples com um banco de dados:
version: "3"
services:
web:
build: .
ports:
- 8080:8080
depends_on:
- db
db:
image: postgres:13
environment:
POSTGRES_DB: myapp
POSTGRES_USER: myapp
POSTGRES_PASSWORD: secret
volumes:
- db-data:/var/lib/postgresql/data
volumes:
db-data:
Este arquivo docker-compose.yml define dois serviços: web e db. O serviço web constrói uma imagem Docker a partir do diretório atual e mapeia a porta 8080 no host para a porta 8080 no contêiner. O serviço db utiliza a imagem oficial do PostgreSQL e configura um banco de dados para a aplicação.
Para iniciar a aplicação, execute:
docker-compose up -d
Isso iniciará os contêineres web e db em segundo plano.
Resumo
Seguindo este tutorial, você aprenderá a instalar o Docker em seu computador macOS ou Windows, compreenderá os fundamentos do Docker e construirá um ambiente de desenvolvimento Docker personalizado para suas necessidades. Com essas habilidades, você poderá otimizar seu fluxo de trabalho de desenvolvimento e aproveitar os benefícios que o Docker oferece, como ambientes consistentes e reproduzíveis, implantação simplificada e escalabilidade aprimorada.



