и монтирует его в контейнер. Нет возможности указать (или ограничить) размер тома.
твует очень ограниченная информация о создании тома с опциями "https://docs.docker.com/engine/reference/commandline/volume_create/ ».
Я просто хочу создать том с ограниченным размером, я пытался,
docker volume create --opt o=size=10m hello-volume
, когда я запускаю простой контейнер hello world с «docker run -v hello-volume: / hello -it ubuntu / bin / bash», я получаю сообщение об ошибке как «docker: ответ об ошибке от демона:… такого устройства нет…»
Поэтому я предположил, что мы должны предоставить полные параметры при создании тома, такие как
“docker volume create --driver local --opt type=*** --opt device=*** --opt o=size=10m hello-volume”
? Если да, то что здесь за «тип» и «устройство»? Я думаю, что устройство на самом деле путь к любому каталогу? Я пытался
“docker volume create --driver local --opt type=volume --opt device=/ --opt o=size=10m hello-volume”.
Когда я попытался запустить контейнер как «docker run -v hello-volume: / hello -it ubuntu / bin / bash», я получил ошибку «docker: ответ об ошибке от демона: ошибка при монтировании тома» / var / lib / docker / volume / hello-volume / _data ': ошибка при подключении тома с параметрами: type =' volume 'device =' / 'o =' size = 10m ': такого устройства нет. ”.
Я пытался
docker volume create --driver local --opt type=tmpfs --opt device=tmpfs --opt o=size=10m hello-volume
который, наконец, работает, но данные находятся в памяти, которая не является постоянной. Итак, может ли кто-нибудь указать, какие параметры используются для «типа» и «устройства» при создании тома (или какие параметры используются по умолчанию, если мы не предоставляем никаких параметров)?
Обновить:
Просто хочу обновить, что кажется, что нет никакого способа ограничить размер диска в локальном драйвере с типом ext4 (хотя заявлено выполнимо в нескольких ответах и других постах). Основная причина в том, что в файловой системе ext4 такого параметра size нет. Я создал том докера:
docker volume create --driver local --opt type=ext4 --opt device=/dev/xvdf --opt o=size=10m hello-volume
Затем осмотрите его (docker volume осмотрите hello-volume) и смонтируйте его вместе с контейнером, на данный момент все выглядит хорошо.
[
{
"CreatedAt": "2018-09-01T04:23:57Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/hello-volume/_data",
"Name": "hello-volume",
"Options": {
"device": "/dev/xvdf",
"o": "size=10m",
"type": "ext4"
},
"Scope": "local"
}
]
docker run -v hello-volume:/myfile1 -exec -it ubuntu /bin/bash
Но когда вы записываете / помещаете большой файл (более 10 м) в «/ myfile1» в этом контейнере, предупреждение / исключение не выдается, запись завершается успешно. Я думаю, что "o = size = 10m" не распознается файловой системой типа ext4.