Существует очень ограниченная информация относительно создания тома с опциями "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
Затем осмотрите его (том докера проверяет 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.