"тип томов" является обязательным свойством "при запуске docker-compose
Я работаю через понимание того, как работает docker-compose.yaml. Я пытаюсь определить том внутри файла compose и монтировать его в точке монтирования локально. Я пытаюсь запустить базовый.yaml для монтирования тома:
version: '3.2'
services:
mydb:
image: postgres
volumes:
- db-data:var/lib/postgres/data
ports:
- "5432:5432"
volumes:
- db-data:
- driver: local
Но когда я бегу docker-compose down
Я получаю ошибку:
$ docker-compose down
The Compose file '.\docker-compose.yml' is invalid because:
services.mydb.volumes 'type' is a required property
services.mydb.volumes 'type' is a required property
Я новичок в этом и до сих пор понимаю все нюансы работы с Docker. Я думаю, что моя проблема в том, что это либо ошибка в отступе, либо как я вызываю номер версии с расширением, но я не могу понять эту ошибку.
1 ответ
Файл compose чувствителен к пробелам (это форматирование yaml). В составном файле есть два разных раздела тома: один, где объем определяется на верхнем уровне отступа, и другой, где том используется внутри службы. Вы попытались определить как внутри службы, так и второй набор томов определен неправильно для определения того, как использовать том (для этого нужен целевой каталог). Вот что вы хотите попробовать:
version: '3.2'
services:
mydb:
image: postgres
volumes:
- db-data:var/lib/postgres/data
ports:
- "5432:5432"
volumes:
db-data: