https://docs.microsoft.com/ko-kr/windows/wsl/tutorials/wsl-containers
https://stackoverflow.com/questions/43181654/locating-data-volumes-in-docker-desktop-windows
wsl 2가 설치되어 있어야 함
wsl 2 설치 방법에 관한 내용은 아래 링크 참고
설치 후 재부팅 필요
https://docs.docker.com/desktop/install/windows-install/ 에서 설치 파일 다운로드 및 실행
설치 프로그램에서 설치 과정 후 'Close and log out' 버튼 클릭
재부팅을 원하지 않는 경우 설치 프로그램을 닫고 나중에 재부팅
docker-desktop
및 docker-desktop-data
가 추가됨C:\Users\wj>wsl --list
Linux용 Windows 하위 시스템 배포:
docker-desktop(기본값)
docker-desktop-data
docker-desktop-data
에서 접근할 수 있음컨테이너 생성
C:\Users\wj>docker run -d --name my-nginx -h nginx -v my-nginx-v:/volume nginx
테스트용 파일 생성
C:\Users\wj>docker exec -it my-nginx touch /volume/1
윈도우 탐색기에서 왼쪽 Linux
클릭
docker-desktop-data
폴더로 접근
\\wsl.localhost\docker-desktop-data\data\docker\volumes
에서 볼륨 접근 가능
\\wsl$\docker-desktop-data\data\docker\volumes
에서 접속 가능PS C:\Users\wj> cd \\wsl$\docker-desktop-data\data\docker\volumes\
PS Microsoft.PowerShell.Core\FileSystem::\\wsl$\docker-desktop-data\data\docker\volumes> dir
디렉터리: \\wsl$\docker-desktop-data\data\docker\volumes
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2022-07-23 오후 3:52 my-nginx-v
-----l 2022-07-26 오후 3:51 0 backingFsBlockDev
------ 2022-07-26 오후 3:52 32768 metadata.db
설정 - Resources
- WSL Integration
- 배포판 선택 - Apply & Restart
클릭
참고사항
Enable integration with my default WSL distro
를 선택한 경우 default 배포판에 대해 Enable integration with additional distros:
를 선택하지 않아도 해당 배포판에서 도커를 제어할 수 있음
player@WJ-TITAN:~$ ps -ef | grep docker
root 143 142 0 23:09 pts/0 00:00:00 /mnt/wsl/docker-desktop/docker-desktop-user-distro proxy --distro-name Ubuntu-22.04 --docker-desktop-root /mnt/wsl/docker-desktop
player 157 156 0 23:09 pts/1 00:00:00 docker serve --address unix:///home/player/.docker/run/docker-cli-api.sock
player 229 212 0 23:17 pts/2 00:00:00 grep --color=auto docker
player@WJ-TITAN:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
제어판에서 프로그램 추가/제거를 통해 제거
참고: wsl --unregister
를 통한 방법으로는 완전히 제거되지 않음