Comandos docker compose:
- docker-compose build -> encontra o arquivo do [Link] dentro da
pasta que estou e cria os serviços que estão lá
- docker-compose up -> executa os comandos dentro que estão dentro do arquivo
[Link]
- docker-compose up -d-> -d: libera o terminal
- docker-compose ps -> lista os serviços que estão rodando
- docker-compose down -> para todos os containers
________________________________________
Exemplo de arquivo do docker compose:
________________________________________
version: '3' -> versão do docker compose
services: -> Definição dos serviços
nginx: -> nome do serviço
build: -> configuração de build
dockerfile: ./docker/[Link] -> configuração (docker
file) para subir o container
context: . -> qual contexto
usar para chegar até o arquivo
image: douglasq/nginx -> a partir de qual
imagem
container_name: nginx -> nome do container
ports: ->
mapeamento de portas
- "80:80" -> portas
mapeadas
networks: -> network
do container
- production-network -> nome da rede criada
mais a baixo
depends_on: -> de quals
outros serviços esse serviço depende
- "node1"
- "node2"
- "node3" -> obs: ao usar o '-' na frente de um dado em
yml, significa que é um array
mongodb:
image: mongo -> nao preciso que crie a partir de um dockfile, mas
sim a partir de uma imagem default então nao preciso usar o comando build
networks:
- production-network
node1:
build:
dockerfile: ./docker/[Link]
context: .
image: douglasq/alura-books
container_name: alura-books-1
ports:
- "3000"
networks:
- production-network
depends_on:
- "mongodb"
node2:
build:
dockerfile: ./docker/[Link]
context: .
image: douglasq/alura-books
container_name: alura-books-2
ports:
- "3000"
networks:
- production-network
depends_on:
- "mongodb"
node3:
build:
dockerfile: ./docker/[Link]
context: .
image: douglasq/alura-books
container_name: alura-books-3
ports:
- "3000"
networks:
- production-network
depends_on:
- "mongodb"
networks: -> rede criada
production-network: -> nome da rede
driver: bridge -> tipo da rede