[Docker] Windows WSL 설정을 통한 Docker Desktop 저장 경로 변경




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을 실행 합니다.




Leave a Comment