====== Docker Compose ======
Compose é focado na definição e execução de múltiplos containers em um único host (sua máquina local ou um servidor único).
Cria estruturas de aplicações separadas em container (container-frontend, container-backend, container-db), utiliza arquivos YAML para construção.
===== Install =====
* Instalações do **Docker Desktop** em __Windows e Mac__ já está incluido o ''docker-compose''
* Verificar versão e instalação: ''docker-compose --version''
===== Exemplo =====
* Download: {{ ::netflix.zip |}}
* Descompacte
* Execute: ''docker-composer up'' (utilize ''-d'' para ficar em segundo plano)
* Finalizar ''docker-composer down''
===== Yaml / .yml =====
* Liguagem ''data seialization'', escrever configurações
* Identação (tab)
* inicia identificando a versão do yml (__verifique a versão no docker-compose docs__)
* services lista os containers
===== Exemplo arquivo Yaml =====
version: "3.8"
services:
frontend: #nome do container a ser criado
depends_on:
- backend
build: ./frontend #procura o arquivo Dockerfile dentro dessa pasta
ports:
- 3000:3000
backend:
depends_on: #espera a aplicação db estar up para executar o app
- db
build: ./backend
ports:
- 3001:3001
environment:
DB_URL: mongodb://db/vidly
command: ./docker-entrypoint.sh
db:
image: mongo:4.0-xenial
ports:
- 27017:27017
volumes:
- vidly:/data/db
volumes:
vidly:
===== REDE DOCKER =====
Acessando um container:
docker exec -it -u root sh
Listar rede:
ifconfig
Ping rede:
ping
Docker possui um DNS Resolver para cada container
===== Logs =====
docker-compose logs
Help:
docker-compose logs --help