0% acharam este documento útil (0 voto)
3 visualizações13 páginas

Docker

O documento apresenta o Docker Compose como uma ferramenta que simplifica a orquestração de múltiplos containers através de um arquivo YAML, resolvendo problemas de inconsistência entre ambientes de desenvolvimento e produção. Ele detalha conceitos principais como serviços, redes e volumes, além de fornecer exemplos de configuração e comandos essenciais para gerenciar containers. O texto também inclui atividades práticas para implementar serviços como WordPress e n8n, destacando a importância da simplicidade e produtividade no desenvolvimento de aplicações complexas.

Enviado por

leiacardo054
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações13 páginas

Docker

O documento apresenta o Docker Compose como uma ferramenta que simplifica a orquestração de múltiplos containers através de um arquivo YAML, resolvendo problemas de inconsistência entre ambientes de desenvolvimento e produção. Ele detalha conceitos principais como serviços, redes e volumes, além de fornecer exemplos de configuração e comandos essenciais para gerenciar containers. O texto também inclui atividades práticas para implementar serviços como WordPress e n8n, destacando a importância da simplicidade e produtividade no desenvolvimento de aplicações complexas.

Enviado por

leiacardo054
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Docker Compose

Prof. Lincon M. Peretto


The Matrix From Hell
Antes do Docker, desenvolvedores enfrentavam um pesadelo: múltiplas
aplicações, diferentes versões de linguagens, bibliotecas conflitantes e
ambientes inconsistentes entre desenvolvimento e produção.

O Docker Compose resolve esse problema orquestrando múltiplos


containers de forma simples e eficiente.
Introdução ao Docker Compose
O que é?

Ferramenta para definir e executar aplicações com múltiplos containers


usando um arquivo YAML ([Link]).

Facilita a orquestração, criação de redes, volumes e conexão entre


containers com um comando único.
Conceitos Principais

Serviços (services) Rede (network)


Containers configurados em um arquivo YAML Comunicação entre containers

Volume (data) Variáveis de Ambiente (environment)


Persistência de dados Configuração dos containers
Estrutura Básica do docker-
[Link] – Exemplo 1
version: "3"
services:
web:
image: nginx:alpine
ports:
- "8080:80"

Arquivo YAML simples que define serviços, imagens e portas para sua
aplicação.
Estrutura Básica do docker-
[Link] – Exemplo 2
services:
web:
image: nginx:alpine
volumes:
- ./[Link]:/usr/share/nginx/html/[Link]
ports:
- "8080:80"

O campo version foi descontinuado na versão 2 do Docker Compose,


portanto pode ser removido do arquivo.
Comandos Principais
Comando Função

docker compose up Criar e iniciar containers

docker compose up -d Rodar containers em background

docker compose down -v Parar e remover containers, redes, volumes

docker compose build Montar imagens

docker compose ps Listar containers ativos

docker compose restart [service] Reiniciar um ou todos os containers


Comandos Principais
A diferença entre docker compose stop e docker compose down -v é fundamental para o gerenciamento dos containers e
dos recursos:

docker compose stop


• Apenas interrompe os containers em execução.
• Os containers e seus dados de volumes, redes e configurações permanecem no Docker.
• Você pode usar docker compose start para reiniciar os mesmos containers rapidamente.
• Não remove volumes, redes ou containers, apenas interrompe a execução.

docker compose down -v


• Interrompe e remove todos os containers definidos no arquivo Compose.
• Remove as redes e remove volumes especificados pelo parâmetro -v (assim, dados persistidos nesses volumes são
excluídos).
• Não é possível reiniciar os mesmos containers, pois eles foram apagados.
• Ideal para quando você quer limpar totalmente o ambiente, inclusive volumes persistentes, ou começar do zero.
Atividade 1: WordPress + MySQL
01 02 03

Criar [Link] Executar Acessar


Defina serviços para db (MySQL) e wordpress com variáveis de docker compose up -d WordPress em [Link]
ambiente

name: "site"
services:
db: # Serviço de Banco de Dados MySQL
image: mysql:5.7 # Imagem Docker do MySQL
environment:
MYSQL_ROOT_PASSWORD: senha123 # Senha root do banco MySQL
MYSQL_DATABASE: wordpress
volumes:
- db_data:/var/lib/mysql # Persistência de dados
wordpress: # Serviço do WordPress
image: wordpress:latest # Imagem oficial do WordPress
depends_on:
- db # Garante que o banco inicie primeiro
ports:
- "8080:80" # Porta 8080 (externa) mapeada para 80 (container)
environment:
WORDPRESS_DB_HOST: db:3306 # Host de conexão do banco
WORDPRESS_DB_USER: root # Usuário do banco
WORDPRESS_DB_PASSWORD: senha123 # Senha do banco
WORDPRESS_DB_NAME: wordpress # Nome do banco
volumes:
db_data: # Volume nomeado para persistência do MySQL
Atividade 2: n8n
01 02 03

Criar [Link] Executar Acessar


Defina serviço para o n8n com variáveis de ambiente docker compose up -d n8n em [Link]

services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true # ativa autenticação básica
- N8N_BASIC_AUTH_USER=usuario # usuário para login
- N8N_BASIC_AUTH_PASSWORD=senha123 # senha para login
- N8N_HOST=localhost # host do n8n
- N8N_PORT=5678 # porta
- N8N_PROTOCOL=http # protocolo
- NODE_ENV=production # ambiente
volumes:
- ./n8n_data:/home/node/.n8n # armazenamento persistente dos dados e workflows
Exercício: n8n + PostgreSQL

Criar diretório do projeto


Adicione um diretório chamado n8n

Criar arquivo docker-compose


Crie um arquivo contendo os serviços do n8n e do PostgreSQL

Testar funcionamento
Abra o n8n no navegador e faça login na plataforma

Enviar relatório
4
Elaborar relatório contendo: prints de tela da execução da atividade e
conteúdo do arquivo [Link]
Ferramentas Online
[Link]

[Link]

[Link]
Considerações Finais
Simplicidade Produtividade
Docker Compose simplifica o Facilita desenvolvimento,
gerenciamento de múltiplos testes e implantação de
containers com um único aplicações complexas.
arquivo de configuração.

Você também pode gostar