지금까지는 Windows에서 IDE로 코드를 작성하고, Windows에서 실행 및 테스트를 한 후 Linux에 배포를 해왔습니다. 이렇게 되면 개발환경과 배포환경의 OS가 달라지면서 환경의 일관성이 깨지고 개발환경에서는 잘 작동하던 기능이 배포환경에서는 오류가 발생할 가능성이 있습니다. 그 반대로, 개발환경에서는 오류가 나던 코드가 배포환경에서는 잘 작동할 수도 있는거구요.
그렇기 때문에, 개발환경과 배포환경의 OS를 일치시킴으로써 개발 및 테스트의 일관성 유지, 개발 생산성 향상을 할 수 있습니다.
저는 윈도우에서 추천하는 설치과정으로 설명합니다. 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를 검색하셔서 원하는 버전을 설치하시면 됩니다.
Windows에서 Docker를 사용하기 위해서는 가상환경이 필요하고, 그러한 이유로 Docker에서는 Hyper-V나 WSL 2을 사용합니다. 윈도우에서는 Docker Desktop
이 권장되고 있고 필요한 설정들을 프로그램이 처리해주기 때문에 데스크톱버전으로 설치하는 게 좋습니다.
https://www.docker.com/products/docker-desktop/
Docker Desktop
을 설치하면 윈도우에서는 바로 Docker를 사용할 수 있습니다. WSL 2에서도 Docker를 사용하려면 WSL integration
옵션에서 몇가지를 활성화 해야 합니다.
[Resources] - [WSL Integration] 순서로 들어가서, 옵션을 활성화해주면 됩니다. Enable integration with my default WSL distro
는 기본적으로 활성화되어 있고, 아래에 추가로 설치한 Ubuntu나 Debian 등을 활성화해주시면 됩니다.
많이 써본건 아니지만, 직접 써보고 + 인터넷의 다양한 사용 후기를 종합해서 결론을 내렸습니다.
WSL
을 설치하면, WSL 내에 있는 폴더를 VSCode로 열어서 작업이 가능합니다. JetBrains과 같은 다른 IDE는 권한 문제로 생성이나 수정이 불가능합니다. 작업폴더에서 Other의 권한을 rwx로 주면 가능합니다.제가 보기 좋도록 WSL Ubuntu에서 Windows 파일을 접근하는 방법, 반대로 Windows에서 WSL Ubuntu 파일 접근하는 방법을 적습니다.
Ubuntu에서 Windows의 파일 시스템에 접근할 수 있습니다. 아래의 경로를 이용하면 Ubuntu에서 Windows 파일 시스템이 보입니다.
cd /mnt
sudo ls -al
mnt 폴더는 윈도우의 내 PC
폴더와 같습니다. C드라이브는 "c"라고 명시되어 있습니다. 저는 C, D 드라이브가 있어서 c,d가 보이네요.
Windows 상에서 Ubuntu가 설치되었을 때 해당 파일 시스템은 아래와 같은 폴더에 저장됩니다.
C:\Users\<사용자계정>\AppData\Roaming\Microsoft\Windows\Network Shortcuts\Ubuntu 22.04
더 편하게는 장점 설명에 있는 스샷처럼 [네트워크] 아래에 [Linux]를 클릭해서 접근하실 수 있습니다.