بعد از انتشار نسخه ۲ از WSL یا همان Windows Subsystem For Linux امکان استفاده از Docker Desktop بر مبنای این ابزار فراهم شد. داکر دو distribution در WSL ایجاد می کند که می توانید با دستور زیر آنها را ببینید:

wsl -l -v

یکی از آنها با عوان docker-desktop-data برای ذخیره سازی Image های داکر مورد استفاده قرار می گیرد.

محل ذخیره سازی Image های Docker Desktop در WSL

به صورت پیشفرض، فایل های vhdx مربوط به داکر در آدرس زیر قرار دارد:

%USERPROFILE%\AppData\Local\Docker\wsl\data\ext4.vhdx

برای مثال در سیستم من در آدرس های:

C:\Users\Asus\AppData\Local\Docker\wsl\data

و

C:\Users\Asus\AppData\Local\Docker\wsl\distro

با توجه به تعداد و حجم Image هایی که Pull کردید، حجم فایل ext4.vhdx در دایرکتوری data متغیر خواهد بود. گاهی با توجه به محدودیت های فضای ذخیره سازی، لازم است فایل ext4.vhdx را به درایو دیگری منتقل کنیم. اما چگونه؟

تغییر محل ذخیره سازی ایمیج های Docker Desktop در WSL

برای این کار، ابتدا با کلیک راست روی آیکن داکر، بر روی Quit Docker Desktop کلیک می کنیم تا داکر shut down شود. سپس با استفاده از دستور زیر مطمئن شوید distribution های مربوط به داکر در حالت stop قرار داشته باشد:

wsl -l -v

سپس با استفاده از دستور زیر، از docker-desktop-data را که محل ذخیره سازی ایمیج هاست، export می گیریم:

wsl --export docker-desktop-data "OtherDrive:\PathToSave\docker-desktop-data.tar"

با توجه به حجم این distribution ممکن است ذخیره سازی آن در محل ذکر شده، زمان بر باشد.

سپس با دستور زیر، docker-desktop-data را حذف می کنیم. توجه داشته باشید معمولا بعد از اجرای این دستور فایل ext4.vhdx حذف می شود.

wsl --unregister docker-desktop-data

حال می توانیم فایل docker-desktop-data.tar در محل دلخواهی به WSL ایمپورت کنیم:

wsl --import docker-desktop-data "OtherDrive:\PathToNewext4.vhdxFile\" "OtherDrive:\PathWhereExportFileExists\docker-desktop-data.tar" --version 2

اکنون می توانید مجددا داکر را اجرا کنید. در صورتی که مشکلی نبود، می توانید فایل docker-desktop-data.tar را حذف کنید.