docker-compose.yaml의 작동 방식을 이해하고 있습니다. 작성 파일 내부에 볼륨을 정의하고 마운트 지점에 로컬로 마운트하려고합니다. 볼륨을 마운트하기 위해 기본 .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와 함께 일하는 모든 뉘앙스를 이해하고 있습니다. 내 문제는 그것이 인 덴션 오류이거나 내선 번호로 버전 번호를 호출하는 방법 중 하나라고 생각하지만 오류를 이해할 수없는 것 같습니다.
답변
편지 쓰기 파일은 공백에 민감합니다 (yaml 형식입니다). 작성 파일에는 두 개의 다른 볼륨 섹션이 있습니다. 하나는 볼륨이 최상위 들여 쓰기 레벨에 정의되고 다른 하나는 서비스 내에서 사용됩니다. 서비스 내에서 두 가지를 모두 정의하려고 시도했으며 두 번째 볼륨 세트가 볼륨 사용 방법을 정의하기 위해 잘못 정의되었습니다 (대상 디렉토리가 필요함). 다음은 시도하려는 것입니다.
version: '3.2'
services:
mydb:
image: postgres
volumes:
- db-data:var/lib/postgres/data
ports:
- "5432:5432"
volumes:
db-data: