Как переместить Docker на другой диск в Windows
Published 2 июня 2024 г. 9:51
Доброго времени суток, дорогой читатель! Недавно у меня возникла необходимость разработать достаточно большую систему и конечно же, чтобы избежать проблем с развертыванием этого монстра, я решила воспользоваться контейнерами Docker.
И тут начались проблемы :-) Может некоторые замечали, что при установке Docker на Windows отсутствует опция выбора диска размещения приложения. Docker устанавливается на диск C по умолчанию (и потребляет всю память, что там есть, для образов). К сожалению, иногда памяти на диске C может быть недостаточно и Windows начинает сеять панику и выдавать предупреждение о её недостатке при попытке загрузить образы.
К счастью, есть решение этой проблемы \(^_^)/ Спасибо доброму человеку с ником ungureanuovidiu на форуме Docker и его комментарию по установке приложения https://forums.docker.com/t/docker-installation-directory/32773/17.
Для того, чтобы установить Docker на другом диске, необходимо открыть терминал (win + x (латинская) на клавиатуре):
Затем перейти в папку, где хранится установщик Docker (обычно это Загрузки). Можно посмотреть путь к файлу в его свойствах:
Копируем расположение файла и переходим в директорию
Далее вводим команду
start /w “” “Docker Desktop Installer.exe” install --installation-dir=G:\Docker
где нужно заменить G на диск, который вам необходим для установки Docker.
После установки проверьте работу Docker Desktop (откройте приложение).
Затем (спасибо инструкции здесь) выполняем следующие команды:
1. Закрываем Docker Desktop
2. Снова открываем командную строку
3. Смотрим список имеющихся машин Linux (WSL):
wsl --list -v
В списке должны быть эти позиции:
NAME STATE VERSION
* docker-desktop Running 2
docker-desktop-data Running 2
4. Выключаем WSL:
wsl --shutdown
Вывод консоли будет таким:
NAME STATE VERSION
* docker-desktop Stopped 2
docker-desktop-data Stopped 2
5. Далее создаем путь (с подпапками):
mkdir D:\Docker\wsl\data\
Замените D на тот диск, где установлен Docker.
6. Экспортируйте контейнеры и их данные. Этот шаг может занять некоторое время в зависимости от размера исходного файла ext4.vhdx:
wsl --export docker-desktop-data "D:\Docker\wsl\data\docker-desktop-data.tar"
7. Снимите регистрацию данных контейнера с WSL. Это также автоматически удалит файл ext4.vhdx из исходного местоположения:
wsl --unregister docker-desktop-data
8. Импортируйте данные контейнера, но сохраните их в другом месте (например, на диске D:, как указано выше). Это автоматически создаст файл ext4.vhdx из резервной копии:
wsl --import docker-desktop-data "D:\Docker\wsl\data" "D:\Docker\wsl\data\docker-desktop-data.tar" --version 2
9. Удалите экспортированный файл .tar: D:\Docker\wsl\data\docker-desktop-data.tar
10. Запустите Docker и контейнеры и наслаждайтесь тем, что он не забивает ваш системный диск).
Итак, надеюсь данное чтиво было полезным и спасло немного нервных клеток ;-) Постараюсь выпускать небольшие гайды по подобным проблемам, так как это сильно экономит время (и успокоительное).
До скорых встреч!