🐳 Как уменьшить размер тома данных Docker в Docker Desktop на Windows

Изменение размера тома данных Docker с помощью одной команды и освобождение большого количества места на жестком диске

by itisgood

Если вы используете Docker Desktop для Windows, в котором применяется WSL2, все ваши образы и файлы контейнеров хранятся на отдельном виртуальном томе (vhdx).

Этот виртуальный жесткий диск имеет возможность автоматически увеличиваться, когда ему требуется больше места, пока не достигнет определенного предела.

Но если освободить место с помощью docker system prune –all или docker volume prune, то vhdx не уменьшится автоматически.

Windows предлагает два способа вручную уменьшить виртуальный диск, чтобы освободить неиспользуемое пространство.

1. Использование команды Optimize-VHD

Команда Optimize-VHD может использоваться для оптимизации распределения пространства в одном или нескольких файлах виртуального жесткого диска.

Она возвращает неиспользуемые блоки, а также переставляет блоки для более эффективной упаковки, что позволяет уменьшить общий размер файла виртуального жесткого диска.

Однако изменить размер фиксированных виртуальных жестких дисков нельзя.

Для запуска процесса перейдите в PowerShell (от имени администратора) и выполните команду:

Optimize-VHD -Path "path to your ext4.vhdx" -Mode Full
Если вы не переместили docker-desktop-data в новое место вы можете найти его в тут:
%LOCALAPPDATA%\Docker\wsl\data\ext4.vhdx

2. Использование Diskpart для изменения размера VHD

Если вы не можете использовать Optimize-VHD в Windows (часто это невозможно сделать в Windows Home), то для изменения размера виртуального диска docker-desktop-data ext4.vhdx можно использовать другой подход.

Для уплотнения виртуального диска используется diskpart.

Для этого откройте терминал и выключите подсистему Windows для Linux

wsl --shutdown
После этого можно запустить diskpart и выбрать ваш docker-desktop ext4.vhdx
diskpart
select dockhdd file="path to your ext4.vhdx"

В качестве идентификатора для работы я выбрал vdisk, но вы можете назвать его по своему усмотрению.

Теперь можно присоединить, уплотнить, отсоединить виртуальный диск и закрыть diskpart.

attach dockhdd readonly
compact dockhdd

[ ... this could take some time ]

detach dockhdd
close

Заключение

Я надеюсь, что эта статья об изменении размера виртуального жесткого диска Docker будет полезной для вас и вы сможете ее повторить.

см. также:

 

 

You may also like

Leave a Comment