Junior
O que é Docker Compose?
sobes.tech IA
Resposta da IA
Ferramenta para definir e executar aplicações Docker multicontêiner. Permite descrever serviços, redes e volumes num único ficheiro YAML e executá-los com um único comando.
Funções principais:
- Definição de múltiplos serviços num único ficheiro.
- Criação e execução de todos os serviços com um único comando.
- Gestão do ciclo de vida da aplicação (início, paragem, reinício, escalonamento).
- Interação de rede entre os contêineres.
- Aplicação de configuração em tempo real.
Exemplo de ficheiro docker-compose.yml:
version: '3.8' # Versão do formato do ficheiro
services:
web: # Nome do serviço
image: nginx:latest # Imagem utilizada
ports:
- "80:80" # Encaminhamento de portas
volumes:
- ./html:/usr/share/nginx/html # Mapeamento de volumes
app: # Nome de outro serviço
build: . # Construção da imagem a partir do Dockerfile no diretório atual
ports:
- "5000:5000"
depends_on: # Dependência de outro serviço
- db
db: # Nome do serviço de base de dados
image: postgres:latest
environment: # Variáveis de ambiente
POSTGRES_DB: mydatabase
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword
volumes: # Volumes definidos
data: # Volume nomeado para dados
Comandos:
docker-compose up: Inicia os contêineres.docker-compose down: Para e remove os contêineres.docker-compose build: Constrói as imagens.docker-compose ps: Mostra o estado dos contêineres em execução.
Vantagens:
- Simplifica a gestão de aplicações multicontêiner complexas.
- Garante a reprodutibilidade do deployment.
- Facilita o desenvolvimento e testes locais.