반응형
(주의) 만일 충돌 해결 후에도 WSL2는 계속 사용하길 원할 경우 이 방법을 추천하지 않습니다.

 

WSL2에 docker 설치 후 Virtual Box 와 충돌이 일어나는 경우가 있다.

충돌이라고는 하지만 docker는 정상 동작을 하고, Virtual Box의 VM들이 부팅되지 않는 경우이다. 자료를 찾다보니 Virtual Box가 동작하지 않는 경우도 있는 것 같다.

어쨋거나 이런 오류는 Hyper-V때문에 발생하는 것으로 Hyper-V관련 설정을 제거 하면 Virtual Box가 정상 동작한다.

다만 이경우 docker는 사용하지 못한다.

필자의 경우는 docker는 WSL2 테스트 용이었고 Virtual Box사용이 빈번하기 때문에 윈도우에서는 docker 를 제거하기로 했다.

앞으로 docker는 Ubuntu VM에 설치해서 사용할 계획이다.

 

Hyper-V관련 설정 제거 방법은 다음과 같다.

 

1. 터미널을 관리자 권한으로 실행한다.

2. 다음 명령을 실행한다. 만일 리부팅 여부를 물으면 우선 N은 선택하고 다음 명령까지 실행한 후 리부팅을 하도록 한다.

>dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

3. 다음 명령을 실행한다. 다음과 같이 "작업을 완료 했습니다."라는 메시지를 확인한 후 시스템을 리부팅한다.

명령 실행 후 화면

>bcdedit /set hypervisorlaunchtype off

두번째 명령 실행 후 화면

 

리부팅이 끝나면 Virtual Box의 VM들은 정상적으로 사용이 가능하다.

그리고 docker는 Hyper-V관련 오류 메시지를 뛰우고 실행되지 않는다.

이제 docker를 삭제하면 된다.

이때 WSL2를 통해 설치한 Linux도 정상 동작하지 않는 경우가 있다. 그런 경우는 Linux를 삭제한 후 다시 설치해도 마찬가지이다. 계속해서 WSL2를 사용할 예정이면 이런 방법은 권장하지 않는다.

 

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형

WSL2 위에 ubuntu20.04를 설치하여 정상 동작을 확인 했다는 가정하에 설명한다.

 

1. 다음 페이지를 방문하여 docker를 다운로드 받는다.

docs.docker.com/docker-for-windows/wsl/

 

Docker Desktop WSL 2 backend

Windows Subsystem for Linux (WSL) 2 introduces a significant architectural change as it is a full Linux kernel built by Microsoft, allowing Linux containers to run natively without emulation. With...

docs.docker.com

첫 화면

Download에 링크를 클릭하면 다음 화면으로 이동한다.

두번째 화면

두번째 화면에서 오른쪽의 'Get Stable'버튼을 클릭한다. 407MB정도 되기 때문에 네트워크 상태에 따라서 시간이 걸릴 수 있다.

다운로드가 완료된 도커 파일

2. 설치 파일을 실행한다.

설치 파일을 실행하면 나오는 화면

OK를 클릭한다.

설치가 진행 중인 화면

시간이 조금 걸릴 수 있으니 인내를 갖고 기다리자.

설치가 완료된 화면

'Close and log out' 버튼을 클릭하면 시스템이 리부팅된다. 따라서 버튼을 클릭하기 전에 필요한 것들은 종료해 두는 것이 좋다.

 

3. 시스템이 리부팅 되고나면 윈도우에서 다음과 같은 알림을 보여주고, 도커를 실행시킨다.

윈도우 알림 메시지

 

도커 시작 화면

Start를 클릭하면 다음 화면이 나온다. 특별한 사항은 없으니 계속 'Next Step'을 클릭한다.

안내 첫번째 화면
안내 두번째 화면
안내 세번째 화면
안내 네번째 화면
안내 다섯번째 화면

4. 이제부터 설정을 하게 되는데, 화면이 바뀌기 때문에 위의 명어를 복사하여 메모장에 기록해 둔다. 나중에 사용한다.

명령을 복사해 두었으면 화면 상단의 setting(톱니바퀴) 아이콘을 클릭한다.

설정 첫화면

4가지가 선택되어 있으면 정상이다.

다음으로 화면 왼쪽에서 Resources의 WSL INTEGRATION을 선택한다.

설정 두번째 화면

자신이 사용할 Ubuntu 버전이 맞는지 확인한 후 클릭하여 활성화 시킨다. 필자의 경우 20.04버전을 설치하였으나 패키지의 이름이Ubuntu인 것을 설치하였기 때문에 타이틀은 Ubuntu로 나온것이다.

Ubuntu 활성화 한 화면

'Apply & Restart'버튼을 클릭하면 창이 잠시 번쩍하는 느낌은 있지만 다른페이지로 넘어 가진 않는다. 다만 다음 그림처럼 버튼이 disable된 것을 확인할 수 있다.

 

5. 이제 Docker가 잘 설치 되었는지 확인한다.

power shell에서 다음과 같이 명령을 내린다.

>wsl -l -v

window에서 확인 결과 화면

이전에 보이지 않던 docker-desktop-data와 docker-desktop이 설치되어 있고 현재 실행 중임을 확인할 수 있다.

 

6. Ubuntu에서도 확인해 본다.

$docker ps

ubuntu에서 확인 결과 화면

아직 이미지를 사용하지 않아서 내용은 없지만 잘 설치되어 있는 것을 알 수 있다.

 

7. 이제는 docker의 실제 동작을 확인할 차례다. 4번항에서 복사해둔 명령어를 shell에 붙여넣기 하고 실행한다.

$docker run -d -p 80:80 docker/getting-started

 

docker이미지 다운로드 직후의 화면

도커 이미지 다운로드가 완료되면 다음과 같은 화면이 나타나면 '액세스 허용'을 클릭한다.

보안경고 화면

8. docker를 실행한다.

$docker run hello-world

hello-world 화면

완벽하게 설치 된 것을 확인했다.

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형
WSL2는 virtualbox와의 충돌 문제가 있어 virtualbox를 사용할 수 없게 된다.
따라서 virtualbox를 자주 사용하는 경우라면 WSL2를 사용하지 말아야 한다.
이는 Hyper-v 공유할 수 없어 발생하는 문제로 아직 해결되지 않았다. (2020년 10월 09일 현재)
WSL과 virtualbox를 꼭 함께 사용해야 한다면 WSL1으로 다운 그래이드 해서 사용해야 한다.

1. 설치전 윈도우의 버전이 2004인지 먼저 확인한다. 이하버전인 경우 업그레이드한다.

>winver

 

윈도우 버전 확인

2. 관리자 권한으로 터미널을 열고 다음과 같이 명령어를 입력한다.

1) WSL (Windows Subsystem for Linux) 기능 활성화

>dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2) Virtual Machine Platform 활성화

>dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

아래와 같은 화면이 나오면 정상적으로 설정이 된것이다.

설정이 최종 완료된 화면

3. 시스템을 리부팅한다.

 

4. WSL 2를 다음 링크에서 다운로드 받는다.

docs.microsoft.com/en-us/windows/wsl/wsl2-kernel

 

Updating the WSL 2 Linux kernel

Instructions on how to update your WSL 2 Linux kernel manually

docs.microsoft.com

 

사이트의 다운로드 링크

 

 

5. 다운 받은 wsl_update_x64.mis를 실행해서 WSL2를 설치한다.

설치 토기화면

6. WSL2를 기본값으로 설정한다. 이후 생성되는 리눅스 배포판이 WSL2로 동작한다. 명령어의 옵션간 스페이스는 존재하지 않는다는 것을 명심하자. 스페이스는 명령어와 옵션사이, 그리고 마지막 2 직전에만 있다.

>wsl --set-default-version 2

 

7. 만일 WSL을 처음 설치하는 것이라면 이번 단계는 필요하지 않다. 그러나 이전에 사용한 적이 있다면 다음 명령으로 WSL을 WSL2로 바꿔준다.

1) 기존의 WSL 배포 목록 확인

>wsl -l -v

2) WSL을 WSL 2로 변경

>wsl --set-version DISTO_NAME 2

 

8. 이제 리눅스 배포판을 Microsoft Store 앱이나 사이트를 통해 설치한다. 여기서는 Ubuntu 20.04 를 설치하도록 한다.

www.microsoft.com/ko-kr/p/ubuntu/9nblggh4msv6?activetab=pivot:overviewtab

 

Ubuntu 구매 - Microsoft Store ko-KR

Microsoft Store에서 이 Windows 10용 앱을 다운로드하세요. 스크린샷을 보고, 최신 고객 리뷰를 읽고, Ubuntu에 대한 평점을 비교하세요.

www.microsoft.com

9. 설치가 끝나고 실행하면 다음과 같은 화면이 나온다. 사용자 이름과 암호를 등록한다.

설치 후 실행한 첫 화면

사용자 이름과 등록이 끝나면 다음 화면이 나온다.

우분투가 실행된 화면

10. 마지막으로 터미널에서 설치를 다시한번 확인한다. 명령은 다음과 같다. 

>wsl -l -v

배포목록에 방금설치한 ubuntu가 WSL2에 등록된 것을 확인할 수 있다.

이제 우분투를 사용하면된다.

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,