Я пытаюсь установить ограничение размера диска контейнера в docker. В частности, у меня есть контейнер, который загружает данные, и я хочу, чтобы эти данные были ниже предела, который я могу ограничить заранее.
Пока что то, что я создал, работает на поверхностном уровне (предотвращает файл от фактического сохранения на компьютер) - однако я могу наблюдать, как контейнер выполняет свою работу, и я вижу, что загрузка завершена до 100%, прежде чем появится сообщение «Загрузка не удалась». Поэтому кажется, что он загружается во временный каталог, а затем проверяет размер файла перед его передачей в окончательное расположение. (или нет)
Это не решает полностью проблему, которую я пытался исправить, потому что, очевидно, загрузка потребляет много ресурсов. Я не уверен, что именно мне здесь не хватает ..
Это то, что создает приведенное выше поведение:
sudo zfs create new-pool/zfsvol1
sudo zfs set quota=1G new-pool/zfsvol1
docker run -e "TASK=download" -e "AZURE_SAS_TOKEN= ... " -v /newpool/zfsvol1:/data containerName azureFileToDownload
У меня такое же поведение при запуске контейнера в интерактивном режиме без томов и загрузки в контейнер. Я попытался изменить драйвер хранилища (внутри $ docker info) на zfs (из оверлея), и это не помогло. Я изучил плагины docker, но мне не показалось, что они решат проблему.
Все это выполняется внутри виртуальной машины Ubuntu; Я сделал пул zfs, чтобы все это проверить. Я почти уверен, что этого не должно быть, потому что это не очень полезно. Кто-нибудь знает, почему это происходит?