и монтирует его в контейнер. Нет возможности указать (или ограничить) размер тома.

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

Ответы на вопрос(2)

Ваш ответ на вопрос