Please Enable JavaScript!
Gon[ Enable JavaScript ]

윈도우 WSL2 와 Docker 설치 및 동작 확인하기

윈도우11
반응형

윈도우에서Docker 를 사용하기 위해서는 리눅스 커널이 필요합니다. 그래서 크게 두가지 방식을 이용해서 Docker 를 설치합니다. 첫 번째는 WSL2 이고 두 번째는 Hyper-V 하이퍼바이저 입니다. 저는 WSL2 환경에서 Docker 를 실행할 것입니다. 왜냐하면 다음과 같은 장점이 있기 때문입니다.

 

l  성능: WSL2는 리눅스 커널을 사용하기 때문에 윈도우 하이퍼바이저를 사용하는 것보다 성능이 뛰어납니다.

l  호환성: WSL2는 리눅스 환경을 제공하기 때문에 리눅스 컨테이너와의 호환성이 뛰어납니다.

l  통합: WSL2는 윈도우 파일 시스템과 통합되어 윈도우와 리눅스 파일을 쉽게 공유할 수 있습니다.

 

그러므로 윈도우에서 도커를 사용하기 위해 WSL2는 꼭 필요하지는 않지만, WSL2를 사용하면 더 나은 성능, 호환성, 통합을 경험할 수 있습니다.

 

 

 

1. 파워쉘에서 WSL 2 업그레이드

 

▼ 먼저 WSL2 로 업그레이드하고 리눅스를 설치해야 합니다. 리눅스는 우분투 20.04 버전을 설치할 예정입니다. 그러기 위해서 윈도우 파워쉘을 관리자 권한으로 실행합니다.

 

최신 버전의 WSL 을 설치하기 위해 wsl  --install 명령어를 실행합니다. 다음 Ubuntu 배포판을 설치하기 위해 wsl --install --distribution  Ubuntu 명령어를 실행합니다.

 

> wsl --install
> wsl --install --distribution Ubuntu

 

 

리눅스 배포판이 제대로 설치되어 있는지 확인하기 위해 아래 명령어를 실행합니다.

 

> wsl -l -v

 

 

2. Docker 다운로드

 

이전에는 윈도우에서 Docker 를 구동하기 위한 WSL2 환경을 갖추는 방법에 대해 알아보았습니다. 이번에는 Docker 를 설치하고 이미지를 다운받은 후 컨테이너를 구동해 보겠습니다. 윈도우 버전 도커를 다운받기 위한 사이트는 아래와 같습니다.

https://docs.docker.com/desktop/install/windows-install/

 

다운받은 Docker exe 파일을 클릭해서 설치를 진행합니다.

 

설치하기 전 Configuration 옵션에서 첫 번째 Use WSL2 instead of Hyper-V 를 체크하고 오른쪽 하단에 OK 버튼을 클릭합니다.

 

다음과 같은 화면이 나오면서 설치가 진행될 것입니다.

 

 

3. Docker 실행 확인하기

 

Docker 설치가 완료되었다면 바로 가기 아이콘을 클릭해서 실행합니다. 첫 번째 화면에서는 Docker 구독 서비스 계약에 동의하는지 묻습니다. Accept 를 눌러 다음화면으로 넘어갑니다.

 

계정이 있는 분들은 로그인해서 진행하셔도 됩니다. 사이트 로그인 없이 진행하고 싶으신 분들은 아래에 Continue without signing in 링크를 클릭합니다.

 

다음은 설치된 Docker 동작하는지 확인하기 위해서 httpd 이미지를 설치하고 확인해 보는 과정입니다. PowerShell에서 아래 명령을 실행해서 httpd 이미지를 다운로드합니다.

 

서버를 띄우기 위한 httd 이미지 메뉴에서 확인할 있습니다.

 

이제 다운받은 이미지를 실제 동작하는 Containers 형태로 띄워야 합니다. 명령프롬프트에서 실행할 명령어는 아래와 같습니다.

 

> docker run -d -p 8080:80 --name httpd-gon httpd

 

주어진 명령어는 Docker 사용하여 Apache HTTP Server (httpd) 컨테이너를 실행하는 명령어입니다. 옵션과 명령어의 역할은 다음과 같습니다:

 

l  `docker run`: Docker 컨테이너를 생성하고 실행하는 명령어입니다.

l  `-d`: 컨테이너를 백그라운드 모드로 실행하라는 옵션입니다. 컨테이너가 백그라운드에서 실행되면 콘솔이 차지되지 않고 다른 작업을 수행할 있습니다.

l  `-p 8080:80`: 호스트 시스템의 포트 8080 컨테이너 내부의 포트 80으로 매핑합니다. 이는 호스트에서 8080 포트로 HTTP 서버에 액세스하려는 경우 사용됩니다. , 호스트의 8080 포트와 컨테이너의 80 포트가 연결됩니다.

l  `--name httpd-gon`: 컨테이너에 이름을 부여하는 옵션입니다. `httpd-gon`이라는 이름을 지정했습니다. 이름은 컨테이너를 구별하고 관리할 사용됩니다.

l  `httpd`: 실행할 Docker 이미지의 이름입니다. 경우, Apache HTTP Server 이미지를 사용하여 컨테이너를 생성합니다.

 

명령어를 실행하면 Docker Apache HTTP Server 컨테이너를 백그라운드에서 실행하고, 호스트의 8080 포트와 컨테이너의 80 포트가 매핑됩니다. 따라서 호스트에서 브라우저를 사용하여 `http://localhost:8080` 또는 `http://호스트_IP:8080`으로 접속하면 Apache HTTP Server 실행 중인 컨테이너에 액세스할 있습니다. 컨테이너의 이름은 `httpd-gon`으로 지정되어 있으므로 해당 이름으로 컨테이너를 관리할 있습니다.

 

Containers 목록에 생성한 httpd-gc 가 생성되었고 Running 상태입니다.

 

웹서버가 제대로 동작하는지 확인하기 위해 웹 브라우저를 띄우고 URL http://localhost:8080 이라고 입력합니다. 그림처럼 웹 브라우저 화면에 It Works! 라고 뜨면 정상적으로 동작하는 것입니다.


 

반응형
Posted by 녹두장군1
,