IT용어

WSL

코코몹 2025. 11. 18. 00:30

WSL

WSL(Windows Subsystem for Linux)

  • Microsoft가 개발한 Windows 운영 체제에서 Linux 환경을 가상 머신이나 듀얼 부팅 없이 직접 실행할 수 있게 해주는 호환성 계층

장점

  • Ubuntu, Debian, Kali 등 다양한 Linux 배포판 설치 가능
  • Linux 명령어와 애플리케이션을 자연스럽게 사용 가능

 

특징

  • Linux 커널 호출을 Windows 시스템 호출로 변환하여 빠르고 효율적으로 Linux 환경을 제공함

 

용도

  • Bash 스크립트 실행
  • Linux용 개발
  • 서버 테스트

 

WSL1과 WSL2 비교

  • WSL1 : 빠른 부팅과 적은 리소스 사용, 윈도우와의 통합 작업에 적합
  • WSL2 : 실체 Linux 커널 실행으로 더 나은 성능과 완전한 호환성 제공, WSL1에 비해 약간 더 높은 리소스 사용과 가상화 요구가 있음
  WSL1 WSL2
아키텍처 Windows 커널 위에서 Linux 바이너리를 실행하는 번역 계층 방식
(별도의 가상 머신 없이 작동함)
경량 가상 머신(VM) 내에서 실제 Linux 커널을 실행
성능 시스템 콜 번역 오버헤드가 있어 성능 제한이 있음
파일 I/O 속도가 느림
실제 커널을 사용해 시스템 콜을 직접 처리
파일 시스템 성능이 크게 개선되어 대용량 데이터 작업과 컨테이너 사용에 적합
시스템 콜 호환성 제한적(대부분의 시스템 콜 번역 필요) 완전한 Linux 커널 사용으로 높은 호환성
Docker 지원 Docker 같은 커널 의존적 애플리케이션을 지원하지 않음 Docker Desktop과 같은 컨테이너 기술을 완벽하게 지원
네트워킹 윈도우 네트워크 스택을 사용하여 네트워크 구성이 비교적 간단 가상화된 네트워크 인터페이스를 사용
약간의 네트워크 설정이 필요할 수 있음
파일 시스템 접근 윈도우 파일 시스템과 완벽하게 통합되어 윈도우 파일에 빠르게 접근 가능 향상된 성능의 리눅스 파일 시스템을 기본으로 함
윈도우 파일 시스템 접근 시 약간의 성능 저하가 있을 수 있음
시스템 요구 사항 가상화 지원이 필요 없음 Hyper-V 기반으로 가상화 지원이 필요
부팅 속도 즉시 사용 가능 경량 VM이지만 부팅 속도 역시 빠름

 

 

WSL과 로컬호스트 연결

WSL과 Windows 로컬 호스트(localhost) 간 연결은 기본적으로 WSL2부터 통합되어 편리하게 사용 가능

 

Windows에서 실행 중인 서버를 WSL2에서 접속

  • localhost 또는 127.0.0.1로 접속

WSL2에서 실행 중인 서버에 Windows 측에서 접근

  • WSL2의 IP 주소 확인(WSL 터미널에서 ip addr show eth0 또는 hostname -I 입력해 확인)
  • 확인한 IP 주소에 Windows에서 접근 가능하나 IP는 식별 후 변경될 수 있으므로 매번 확인 필요

 

WSL와 Docker 통합

장점

  • WSL2의 고성능 가상화 기능을 활용하여 개발 환경을 효율적으로 구성하는데 매우 유용

단계

No 작업 내용
1 WSL2 설치 및 활성화 - Windows에서 WSL2를 사용하려면 먼저 WSL과 가상 머신 플랫폼을 활성화

- 관리자 권한으로 PowerShell을 열어 아래 명령어 실행
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

- Windows 재부팅

- 아래 명령어로 WSL2를 기본 버전으로 설정
wsl --set-default-version 2
2 Linux 배포판 설치 - Microsoft Store에서 원하는 Linux 배포판 설치

- 배포판 실행 및 초기 설정 완료
3 Docker Desktop 설치 및 설정 - Docker 공식 웹사이트에서 Docker Desktop for Windows 설치
설치 중 WSL2 사용 여부 선택 옵션 체크

- Docker Desktop 설정에서 "Use the WSL 2 based engine"을 활성화

- 아래 명령어로 WSL2 배포판이 Docker와 연동
wsl --list --verbose

- 배포판이 Running 상태이고 버전이 2인지 확인
4 Docker와 WSL 연동 - WSL 배포판에서 Docker 명령어 사용
docker --version
docker run hello-world
5 추가 설정(선택 사항) - WSL에 Docker CLI 바로 사용을 위해 환경변수 설정 가능

- 필요시, .bashrc 또는 .zshrc에 다음의 alias 추가
alias docker='docker.exe'