Introdução ao Docker
Docker é uma plataforma aberta para desenvolver, enviar e executar aplicações em containers. Containers permitem empacotar uma aplicação com todas as suas dependências em uma unidade padronizada para desenvolvimento de software.
Diferente das máquinas virtuais tradicionais, que emulam um sistema operacional completo, os containers compartilham o kernel do sistema operacional do host, tornando-os muito mais leves e eficientes.
Como o Docker funciona?
O Docker utiliza uma arquitetura cliente-servidor. O Docker daemon (servidor) é responsável por construir, executar e distribuir seus containers. O Docker cliente se comunica com o daemon através de uma API REST.
# Exemplo de comando Docker para executar um container
docker run -d -p 80:80 nginx
Componentes principais do Docker
- Docker Engine: O runtime e a ferramenta de orquestração que cria e executa containers
- Docker Images: Modelos somente leitura usados para criar containers
- Docker Containers: Instâncias executáveis de imagens Docker
- Docker Registry: Repositório para armazenar e distribuir imagens Docker (Docker Hub é o registro público)
- Dockerfile: Arquivo de texto com instruções para construir uma imagem Docker
Exemplo de Dockerfile
# Use a imagem base do Node.js
FROM node:14
# Defina o diretório de trabalho no container
WORKDIR /app
# Copie os arquivos do projeto
COPY package*.json ./
RUN npm install
COPY . .
# Exponha a porta 3000
EXPOSE 3000
# Comando para executar a aplicação
CMD ["npm", "start"]