Docker Desktop의 데이터 저장 경로 변경하는 방법을 정리합니다.
신규 저장 경로 생성
D:\docker
Power Shell 실행
관리자 권한으로 Power Shell을 실행 합니다.
wsl 상태 확인
PS C:\Windows\system32> wsl --list -v
NAME STATE VERSION
* docker-desktop-data Running 2
docker-desktop Running 2
PS C:\Windows\system32>
Docker Desktop 종료
Docker Destktop을 종료 합니다.
Docker Desktop 경로 확인
C:\Users\ooo\AppData\Local\Docker\wsl\data

wsl 상태 확인 및 Docker 종료 확인
PS C:\Windows\system32> wsl --list -v
NAME STATE VERSION
* docker-desktop-data Stopped 2
docker-desktop Stopped 2
PS C:\Windows\system32>
데이터 이동
PS C:\Windows\system32> wsl --export docker-desktop-data "D:\docker\docker-data.tar"
PS C:\Windows\system32>

wsl 등록 해제
PS C:\Windows\system32> wsl --unregister docker-desktop-data
등록 취소 중...
PS C:\Windows\system32> wsl --list -v
NAME STATE VERSION
* docker-desktop Stopped 2
PS C:\Windows\system32>

기존에 존재하던 디스크 이미지 파일이 없어집니다.
wsl 등록
wsl 등록할 때 아래와 같은 오류가 확인되었습니다.
인터넷 검색으로 문제를 찾아보았고 아래 포스트를 참고해서 진행하였습니다.
https://newsight.tistory.com/285
문제 해결
PS C:\Windows\system32> wsl --import docker-desktop-data "D:\docker" "D:\docker\docker-data.tar" --version 2
가상 디스크 시스템 제한으로 인해 요청한 작업을 완료할 수 없습니다. 가상 하드 디스크 파일은 압축이 풀려 있는 상태이고 암 호화되지 않아야 하며 스파스가 아니어야 합니다.
그래서 아래 설정을 적용하고 재부팅을 하였습니다.
fsutil behavior set disableencryption 1
fsutil behavior set disablecompression 1
PS C:\Windows\system32> fsutil behavior set disableencryption 1
참고: 이 설정의 변경 내용을 적용하려면 다시 부팅해야 합니다.
DisableEncryption = 1 (사용)
PS C:\Windows\system32> fsutil behavior set disablecompression 1
참고: 이 설정의 변경 내용을 적용하려면 다시 부팅해야 합니다.
DisableCompression = 1 (사용)
PS C:\Windows\system32>
재부팅을 하였으나 문제가 해결되지 않습니다.
아래와 같이 해당 폴더의 ‘속성 > 고급 > 압축 또는 암호화 특성 > 내용을 압축하여 디스크 공간 절약’을 해제 하였습니다.

wsl 데이터 재등록
다시 wsl 등록을 수행하였더니 정상적으로 등록이 되었습니다.
PS C:\Windows\system32> wsl --import docker-desktop-data "D:\docker" "D:\docker\docker-data.tar" --version 2
PS C:\Windows\system32> wsl --list -v
NAME STATE VERSION
* docker-desktop Stopped 2
docker-desktop-data Stopped 2
PS C:\Windows\system32>
등록이 완료되면 docker-data.tar 파일은 삭제하여도 됩니다.
Docker Desktop 실행
Docker Desktop을 실행 합니다.