WSL2를 설치하고 활성화하는 방법
WSL2란?
- Windows Subsystem for Linux 2의 줄임말로 윈도우에서 리눅스를 사용할 수 있게 해주는 기능입니다.
WSL2 설치 방법
- 윈도우 + R -> cmd 검색 또는 윈도우 창에 명령프롬프트(cmd) 관리자 권한 실행
- 다음 두 명령어 실행
$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
-
두 명령어 모두 '작업을 완료했습니다' 출력 확인 후 윈도우 재부팅
-
x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지 를 다운로드 받아 안내에 따라 설치합니다.
-
Windows Terminal을 열고 다음 명령어를 실행합니다.
$ wsl --set-default-version 2
- WSL2로 리눅스를 사용하고자 하는 경우 리눅스 배포판 설치하는 등 추가 설정이 필요하지만 Docker만 사용하는 경우 여기까지만 셋업하면 됩니다.
Docker 설치 방법
- 다음 페이지롤 이동해서 Download for Windows를 클릭해 Docker Desktop for Windows를 다운로드 받습니다.
Docker Desktop for Mac and Windows | Docker
![업로드중..]()
- 다운로드 받은 Docker Desktop Installer.exe를 실행하면 사용자 계정 컨트롤이 나타납니다. 설치를 진행하려면 '예'를 클릭합니다.
![업로드중..]()
- 안내에 따라 설치를 진행합니다. 설치 중간에 Configuration이 나타납니다. 둘 다 체크하고 설치를 진행합니다.(첫 번째 옵션은 WSL 관련, 2번째 옵션은 바탕화면에 아이콘 추가 여부)
![업로드중..]()
- Docker Desktop 설치가 진행됩니다. 몇 분 정도 시간이 걸리니 완료될 때까지 기다립니다.
![업로드중..]()
- 설치가 끝나면 Installation succeeded 메시지가 나타납니다. 시스템 상태에 따라 재시작이나 로그아웃을 해야핳는 경우도 있습니다. Close 버튼을 클릭해 인스톨러를 종료합니다.
![업로드중..]()
- Docker를 실행합니다. 시스템에 WSL2가 활성화 되어있다면 Docker는 기본적으로 WSL2를 백엔드로 Docker Engine을 실행합니다. 초기 셋업에는 몇 분 정도의 시간이 걸립니다. 성공적으로 Docker가 실행되면 Tutorial이 나타납니다.
![업로드중..]()
- WSL2 설정이 잘되어있는지 확인하고 WSL 통합 설정을 진행합니다.
Docker 아이콘에서 오른쪽 버튼을 눌러 Settings를 선택합니다. 먼저 General 설정에서 'Use the WSL 2 based engine'에 체크가 되어있는지 확인합니다. 미리 체크가 되어있지 않다면 체크하고 오른쪽 아래의 Apply & Restart 버튼을 클릭합니다.
![업로드중..]()
- 왼쪽 사이드바에서 Resuorce -> WSL Integration 메뉴로 이동합니다.
'Enable Integration with my default WSL distro'에 체크되어있는지 확인합니다. 체크가 되어있지 않다면 체크하고 오른쪽 아래의 Apply & Restart 버튼을 클릭해주면 도커엔진이 재실행됩니다.
![업로드중..]()
Docker 설치 확인 및 간단한 nginx 서버 예제 실행해보기
Docker, WSL 확인
- Windows Terminal을 열어 간단한 테스트 진행. 윈도우 + R(검색) 에 cmd 입력 또는 명령프롬프트 실행 하여 아래 명령어로 Docker 전용 머신이 실행중인지 확인
![업로드중..]()
- wsl로 docker-desktop 리눅스에 명령어를 실행해볼 수 있습니다. docker-desktop은 BusyBox 기반의 경량 리눅스인 것을 확인해 볼 수 있습니다.
![업로드중..]()
- docker version 명령으로 Docker 서버와 클라이언트 정보를 확인해봅니다.
![업로드중..]()
nginx 서버 예제 실행
- docker run 명령어로 nginx 이미지 기반 컨테이너를 실행
$ docker run -p 4577:80 -d nginx:latest
Unable to find image 'nginx:latest' locally
...
-
Docker에서는 이미지를 자동으로 다운로드 받고 실행해줍니다. docker ps 로 실행한 컨테이너를 확인합니다.
-
웹 브라우저에 127.0.0.1:4577에 접속해보면 'Welcome to nginx!' 메시지가 나타납니다.
-
사용하지 않는 컨테이너는 docker rm 명령어로 삭제 합니다. 5901s는 해당 컨테이너 ID의 앞 5자리 입니다.
$ docker rm -f 5901s