[Docker] Window에 Docker Desktop 설치

늦잠·2024년 5월 29일
0
post-thumbnail

Docker Desktop 설치 중 이슈가 많아서 나중에 다시 보려고 정리했습니다.



설치 프로그램 받기

사이트 : https://www.docker.com/products/docker-desktop/#/windows
도커 사이트에서 OS에 맞는 설치 프로그램을 받는다.


도커는 리눅스 기반 애플리케이션이기 때문에 윈도우에서 도커는 가상 머신을 생성할 수 있게 해주는 WSL2Hyper-V를 기반으로 실행된다. 윈도우도 일반 Home 에디션은 Hyper-V를 지원하지 않는다.

WSL2를 사용한다면 위 옵션에 체크하고 Hyper-V를 사용한다면 체크를 해제한다.



가상화 기능 켜기

도커를 사용하기 위해선 BIOS에서 가상화 기능을 켜야한다.
컴퓨터 환경에 따라 다르지만

1) 컴퓨터가 부팅될 때 F2 버튼을 눌러 BIOS 모드에 진입한다.

2) Advanced Mode로 전환 후, CPU Configuraion을 찾는다.

3) SVM Mode, 혹은 Intel (VMX) Virtualization Technology 기능을 활성화 한다.

의 순서로 가상화 기능을 활성화 시킬 수 있다.


이후 'Windows 기능 켜기/끄기'에서 다음 네 가지 기능을 활성화한다.



WSL 설치

WSL 기반을 선택했을 경우,

$ wsl --install

관리자모드로 터미널을 킨 후, 다음 명령어를 통해 WSL을 설치한다.

$ wsl --set-default-version 2

다음 명령어를 통해 WSL의 디폴트 버전을 2로 설정한다.



테스트

테스트 삼아 MySQL 컨테이너를 실행시켜 보자.

 > mysql -u root -p
Enter password: ****
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)

시작 전 : MySQL을 중지해놓아서 접속이 안된다.

MySQL 컨테이너 run.

docker desktopContainers 탭에서 만든 컨테이너를 확인할 수 있다.
docker ps로도 확인할 수 있다.


컨테이너 터미널에 접속도 가능하다.



오류 관련

1

본인의 경우, WSL2 기반으로 도커를 설치할 경우 화면이 계속 떨리는 오류가 생겼다.
https://github.com/docker/for-win/issues/12532

해결을 시도하다 포기.

2

오류 때문에 Hyper-V 기반으로 설치했지만 이번엔 인텔리제이와 충돌이 발생했다.

Hyper-V가 인텔리제이가 사용할 포트까지 모두 가져가서 생기는 문제라고 하니 같은 문제가 발생했을 경우 다음 해결법을 사용해보자.

해결법 출처 : https://bingbingpa.github.io/intellij-start-error/

dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
# 이후 윈도우를 재시작
netsh int ipv6 add excludedportrange protocol=tcp startport=6942 numberofports=10
# JetBrains 사의 IDE를 동시에 10개 이상은 안 쓸 거 같아 10개 정도만 예약.
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

포트 번호를 예약해 두는 방법이다.

netsh interface ipv4 show excludedportrange protocol=tcp

를 통해 예약중인 포트 번호를 확인할 수 있고,

netsh int ipv4 delete excludedportrange protocol=tcp startport=[시작 포트] numberofports=[포트 개수]

를 통해 해제도 가능하다.
(테스트는 안해봄)

(추가) 저 해결법 나중에 써야지 하고 그냥 다음 날 키니까 갑자기 됨; 뭐지;


참고

profile
피카

0개의 댓글