docker-compose: ERROR: but no declaration was found in the volumes section

nginx logó
Probléma:

$ sudo docker-compose up
ERROR: Named volume "nginx:/etc/nginx/conf.d:rw" is used in service "nginx" but no declaration was found in the volumes section.

Megoldás:

Példa docker-compose.yaml:

version: "3"
services:
  nginx:
    container_name: nginx
    image: nginx:latest
    ports:
      - "80:80/tcp"
    volumes:
      - nginx/:/etc/nginx/conf.d/

A docker-compose.yaml fájlban meg lehet adni, hogy vagy egy meglévő kötet kerüljön becsatolásra (ilyenkor a kötet neve kell), vagy egy helyi gépen lévő könyvtárat csatoljon fel. Helyi kötet csatolása esetében relatív (./nginx) vagy abszolút (/valahol/valami/nginx) útvonalat kell megadni.

Tehát a fenti példánál maradva a volumes szekció így helyes:

    volumes:
      - ./nginx/:/etc/nginx/conf.d/