====== 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