В файле docker-compose я хочу создать именованный том, который будет предназначен для локального диска в целях тестирования. Для производства мы будем использовать NFS.
Я создал файл compose следующим образом:
version: '3.3'
services:
test:
build: .
volumes:
- type: volume
source: data_volume
target: /data
networks:
- network
volumes:
data_volume:
driver: local
driver_opts:
o: bind
type: none
device: c:/data
networks:
network:
driver: overlay
attachable: true
Когда я запускаю docker-compose up, я получил следующую ошибку,
for test_test_1 Cannot create container for service test: failed to mount local volume:
mount c:/data:/var/lib/docker/volumes/test_data_volume/_data, flags: 0x1000: no such file
or directory
Даже с ошибками он все равно создает именованный том. Поэтому, когда я проверяю это,
{
"CreatedAt": "2019-10-07T09:10:14Z",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "test",
"com.docker.compose.version": "1.24.1",
"com.docker.compose.volume": "data_volume"
},
"Mountpoint": "/var/lib/docker/volumes/test_data_volume/_data",
"Name": "test_data_volume",
"Options": {
"device": "c:/data",
"o": "bind",
"type": "none"
},
"Scope": "local"
}
Я все еще не уверен, почему точка монтирования нацеливается на это местоположение. Я знаю, что могу достичь этого без именованного тома (что я уже сделал), но для будущего проекта нам определенно нужен именованный том.
Любое предложение, как этого добиться?