window 11 세팅을 기준으로 작성됨
docker 설치 및 초기 세팅을 끝냈다는 전제 하에
docker를 실행하면 자동으로 ubuntu 환경이 실행됨
$ wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
docker-desktop-data Running 2
docker-desktop Running 2
Running은 실행 상태
Stopped는 종료 상태
wsl만 입력하면 기본 리눅스 머신으로 실행되고,
wsl -d [MachineName] 다음과 같이 -d 옵션으로 입력하면 머신을 선택하여 실행할 수 있음
$ wsl -l -v
NAME STATE VERSION
* Ubuntu Stopped 2
docker-desktop-data Stopped 2
docker-desktop Stopped 2
$ wsl
# To run a command as administrator (user "root"), use "sudo <command>".
# See "man sudo_root" for details.
$ wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
docker-desktop-data Stopped 2
docker-desktop Stopped 2
$ wsl -t [MachineName]
NAME STATE VERSION
* Ubuntu Stopped 2
docker-desktop-data Running 2
docker-desktop Running 2
# 위 `docker-*`는 docker-desktop 앱을 실행하면 자동으로 실행되며,
# 리눅스 머신 종료 시, 자동으로 종료된다.
# wsl 머신에서 직접 종료
# 머신 shell에 접근하여 shutdown 명령어 입력
$ sudo shutdown -h now
# 모든 머신 일괄 종료
$ wsl --shutdown
$ wsl -l -v
NAME STATE VERSION
* Ubuntu Stopped 2
docker-desktop-data Stopped 2
docker-desktop Stopped 2
레퍼런스 작성일 2023.07.09 기준으로
리눅스 머신 자동 재실행 기능은 아직 없음.
따라서 직접 종료 및 실행을 해줘야 함
ref - https://www.lainyzine.com/ko/article/how-to-start-shutdown-reboot-wsl-linux/
net stop wslservice && net start wslservice
이후 도커 실행해보기
그래도 안 되면,
wsl -d Ubuntu
이후 다시 도커 실행
An attempt was made to access a socket in a way forbidden by its access permissions.
관리자권한의 powershell or cmd로 아래 코드 실행
net stop hns && net start hns