Docker-compose: определить mount для монтирования привязки и управляемого монтирования
Я использую docker-compose для определения моего сервиса. В докере есть два понятия для объема докеров. Во-первых, около bind mount
: mount на хост-хранилище.
docker run -d --name web-app -v $HOST/location:/container/location -p 80:80 httpd:latest
Во-вторых, это managed mount
: абстрактное хранилище, не зависящее от хоста.
docker run -d --name web-app -v /container/location -p 80:80 httpd:latest
Я хочу сопоставить эти понятия с docker-compose. Это означает, как я могу определить bind mount
и managed mount
при использовании docker-compose.
Ответы
Ответ 1
Вы можете найти эти концепции Docker в разделе volumes
Docker Compose: https://docs.docker.com/compose/compose-file/#/volumes-volumedriver
Примеры:
volumes:
# Just specify a path and let the Engine create a volume
- /container/location
# Specify an absolute path mapping
- ./myfolder/location:/container/location
Ответ 2
Хотя я отвечаю очень поздно. Но, возможно, это поможет другим людям в будущем. Ниже приведена конфигурация для обоих типов. https://docs.docker.com/compose/compose-file/#volumes
version: "3.2"
services:
web:
image: httpd:latest
volumes:
- type: bind
source: $HOST/location
target: /container/location
- type: volume
source: mydata
target: /container/location
volumes:
mydata: