1
resposta

Como descrever os volumes no docker compose

Ola,

Como se descreve o volume no docker compose ?? Como descrever qual o diretorio no host e qual o diretorio no container que aramazenara os volumes ???

1 resposta

Olá Felipe, tudo bem? Bom, depende de como seu volume vai ser utilizado, se você for utilizar um volume apenas para um serviços você pode fazer o que chamamos de bind de pastas, ou seja, indicar uma pasta da sua máquina para uma pasta do container que será criado da seguinte forma (dentro da declaração de um serviço):

services:
  db:
    image: image:latest
    volumes:
      - "dbdata:/var/lib/databasesql/data"

Onde dbdata é uma pasta da nossa máquina física e /var/lib/databasesql/data é do container que vamos criar.

Quando precisamos utilizar o volume em mais de um serviço, precisamos utilizar um volume nomeado, e podemos fazer da seguinte forma:

services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - type: volume
        source: mydata
        target: /data
        volume:
          nocopy: true
      - type: bind
        source: ./static
        target: /opt/app/static

networks:
  webnet:

volumes:
  mydata:

Isso tudo dentro do arquivo docker-compose.yml.

Espero ter esclarecido sua dúvida!