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.
docker-composedocker-compose –versiondocker-composer up (utilize -d para ficar em segundo plano)docker-composer downdata seialization, escrever configuraçõesversion: "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:
Acessando um container:
docker exec -it -u root <id_container> sh
Listar rede:
ifconfig
Ping rede:
ping <nomecontainer>
Docker possui um DNS Resolver para cada container
docker-compose logs
Help:
docker-compose logs --help