Windows에서 WSL로 개발환경 구축하기

SeHun.J·2024년 2월 2일
0

WSL로 개발환경 구축하기

구축 이유?

지금까지는 Windows에서 IDE로 코드를 작성하고, Windows에서 실행 및 테스트를 한 후 Linux에 배포를 해왔습니다. 이렇게 되면 개발환경과 배포환경의 OS가 달라지면서 환경의 일관성이 깨지고 개발환경에서는 잘 작동하던 기능이 배포환경에서는 오류가 발생할 가능성이 있습니다. 그 반대로, 개발환경에서는 오류가 나던 코드가 배포환경에서는 잘 작동할 수도 있는거구요.

그렇기 때문에, 개발환경과 배포환경의 OS를 일치시킴으로써 개발 및 테스트의 일관성 유지, 개발 생산성 향상을 할 수 있습니다.

WSL 설치하기

저는 윈도우에서 추천하는 설치과정으로 설명합니다. Windows WSL Install 링크
기본적으로 WSL을 사용하기 위해서는 Windows 버전이 10, 11 이어야 합니다.

PowerShell이나 CMD를 관리자권한으로 실행합니다.

wsl --install

명령어를 입력하면, wsl 설치가 진행되는데요. 2024.02.02 Windows 11 기준으로 해당 명령어로 Ubuntu 22.04.3 LTS 버전까지 자동으로 설치가 진행되었습니다. 만약에 Ubuntu 설치가 안됬다면 wsl 설치 후, Microsoft Store에서 Ubuntu를 검색하셔서 원하는 버전을 설치하시면 됩니다.
Microsoft Store

Docker 설치하기

Windows에서 Docker를 사용하기 위해서는 가상환경이 필요하고, 그러한 이유로 Docker에서는 Hyper-V나 WSL 2을 사용합니다. 윈도우에서는 Docker Desktop이 권장되고 있고 필요한 설정들을 프로그램이 처리해주기 때문에 데스크톱버전으로 설치하는 게 좋습니다.

https://www.docker.com/products/docker-desktop/

Docker Desktop을 설치하면 윈도우에서는 바로 Docker를 사용할 수 있습니다. WSL 2에서도 Docker를 사용하려면 WSL integration 옵션에서 몇가지를 활성화 해야 합니다.

Docker Settings

[Resources] - [WSL Integration] 순서로 들어가서, 옵션을 활성화해주면 됩니다. Enable integration with my default WSL distro는 기본적으로 활성화되어 있고, 아래에 추가로 설치한 Ubuntu나 Debian 등을 활성화해주시면 됩니다.

WSL 2 사용 후기

많이 써본건 아니지만, 직접 써보고 + 인터넷의 다양한 사용 후기를 종합해서 결론을 내렸습니다.

장점

  1. 편리한 개발 환경 : 기본적으로 윈도우에서는 WSL 2 또한 윈도우 폴더처럼 GUI로 쉽게 접근이 가능합니다. 그렇기 때문에 윈도우에서 개발하던 코드를 쉽게 가상환경 안으로 옮길 수 있습니다.
    편리한 개발 환경
  2. 환경 분리 : 윈도우에서 Linux 기반 환경으로 개발 및 테스트가 가능합니다. 1번 장점 덕분에 더 편하기도 합니다.
  3. Linux 환경에서 IDE로 개발 : VSCode는 확장에서 WSL을 설치하면, WSL 내에 있는 폴더를 VSCode로 열어서 작업이 가능합니다. JetBrains과 같은 다른 IDE는 권한 문제로 생성이나 수정이 불가능합니다. 작업폴더에서 Other의 권한을 rwx로 주면 가능합니다.

단점

  1. 네트워크 관리 : WSL 2는 실행될 때마다 172.x.x.x 의 사설 IP를 부여 받습니다. 매번 달라지기 때문에 고정된 IP 주소가 없습니다. 물론, 고정 IP를 설정으로 해결은 가능합니다. 제가 찾았던 글 링크입니다. WSL2 활용도를 높여주는 고정 IP 설정
  2. 완벽하지 않은 환경분리
    • Docker 공유 : WSL 2를 통해 Docker가 구동하기 때문에 윈도우와 WSL2 기반 Ubuntu는 같은 도커 서비스를 사용합니다. 윈도우에서 작동시켰던 컨테이너가 Ubuntu 안에서도 똑같이 보입니다. (다만 아직까지 저에게는 큰 단점으로 다가오진 않았습니다.)

WSL Ubuntu <-> Windows 접근 방법

제가 보기 좋도록 WSL Ubuntu에서 Windows 파일을 접근하는 방법, 반대로 Windows에서 WSL Ubuntu 파일 접근하는 방법을 적습니다.

WSL Ubuntu에서 Windows 파일 접근

Ubuntu에서 Windows의 파일 시스템에 접근할 수 있습니다. 아래의 경로를 이용하면 Ubuntu에서 Windows 파일 시스템이 보입니다.

cd /mnt
sudo ls -al

mnt

mnt 폴더는 윈도우의 내 PC 폴더와 같습니다. C드라이브는 "c"라고 명시되어 있습니다. 저는 C, D 드라이브가 있어서 c,d가 보이네요.

Windows에서 WSL Ubuntu 파일 접근

Windows 상에서 Ubuntu가 설치되었을 때 해당 파일 시스템은 아래와 같은 폴더에 저장됩니다.

C:\Users\<사용자계정>\AppData\Roaming\Microsoft\Windows\Network Shortcuts\Ubuntu 22.04

더 편하게는 장점 설명에 있는 스샷처럼 [네트워크] 아래에 [Linux]를 클릭해서 접근하실 수 있습니다.

profile
취직 준비중인 개발자

0개의 댓글