
이번 글에서는 Window에서 Docker를 설치하는 방법에 대해 살펴보겠습니다. 우선 Docs에 나와있는 개념에 대해 간단하게 살펴보면, Docker는 애플리케이션을 개발, 배포 및 실행하기 위한 오픈소스 플랫폼입니다. Docker를 사용하면 애플리케이션과 인프라를 분리하여 소프트웨어를 신속하게 제공하고, 애플리케이션을 관리하는 것과 동일한 방식으로 인프라를 관리할 수 있다고 설명하고 있습니다. 애플리케이션을 컨테이너로 실행하고 관리하는 프로그램이라고 생각해 주시면 될 것 같습니다.
데이터 분석가나 ML/DL Researcher라고 하더라도 Docker를 알아야 하는 경우가 많기 때문에 설치부터 차근차근 살펴보도록 하겠습니다. 해당 블로그의 글을 주로 참고하여 작성하였음을 미리 알려드립니다.
1. WSL2 설치 및 활성화
WSL2는 Windows Subsystem for Linux 2의 줄임말로, Windows 환경에서 Linux를 사용할 수 있도록 도와줍니다. Windows 10/11 Home을 제외한 그 이상의 에디션들(Pro, Education, Enterprise)은 Hyper -V 기능을 제공하여 WSL2가 필요 없을 수 있습니다. 하지만 앞으로 어떠한 Windows 환경에서 Docker를 사용할지 모르기 때문에 WSL2를 설치하여 진행하도록 하겠습니다.
우선 Powershell이나 CMD(명령프롬프트)를 관리자 권한으로 실행합니다. 다음 WSL을 설치하고, 버전의 기본값을 2로 변경하는 명령어를 입력합니다. 코드와 실제 실행화면은 다음과 같습니다.
wsl --install
wsl --set-default-version 2

2. Docker 설치
Docker를 설치하기 위해 홈페이지(https://www.docker.com/products/docker-desktop/)에 접속하고, Download for Windows를 클릭합니다.

다운로드 된 Docker Desktop Installer.exe를 실행하고, Configuration에 대한 설정이 나오면 두 항목 모두 체크합니다. 위의 항목은 지금 글에서 설명하는 것처럼 Hyper-V 대신 WSL2를 사용하는 케이스입니다.

OK를 누르면 이후 설치 과정이 진행되고, 성공적으로 설치가 마무리되면 다음과 같은 화면이 뜨게 됩니다. 그럼 Docker Desktop이 설치된 것을 확인할 수 있습니다.


여기까지는 참고한 블로그와 동일하게 오류 없이 잘 진행되었습니다. 하지만 제가 Docker Desktop을 실행했을 때, 다음과 같은 오류가 발생하며 Docker 실행이 되지 않았습니다. 해당 오류에 대해 검색해본 결과, 가상화와 관련된 오류였습니다.

3. 가성화 활성화
저의 경우 CMD 창에서 systeminfo를 입력한 결과, 마지막 부분에 '펌웨어에 가상화 사용'이 '아니요'로 되어있었습니다. 가상화가 활성화되어있었다면, '예'로 표시되거나 'Hyper-V 요구 사항: 하이퍼바이저가 검색되었습니다. Hyper-V에 필요한 기능이 표시되지 않습니다.'라고 표시되어야 정상입니다.

가상화를 활성화시키기 위해 여러 블로그글을 참고하였고, 우선적으로 Windows 기능 관련하여 시도하였습니다. 'Windows 기능 켜기/끄기'를 Windows에서 검색하여 접속하고, 1) Hyper-V, 2) Linux용 Windows 하위 시스템, 3) Widnows 하이퍼바이저 플랫폼, 4) 가상 머신 플랫폼, 네 가지의 항목을 모두 활성화합니다.


그런데 저는 아래 그림처럼 Hyper-V 하이퍼바이저는 활성화할 수 없는 상태였습니다. 해당 항목 이외의 다른 항목은 모두 활성화시켰지만, 여전히 Docker 실행은 되지 않았습니다.

다음으로 시도한 방법은 BIOS에 접속하여 가상화를 활성화하는 것입니다. 위키피디아에 따르면, BIOS(Basic Input/Output System)는 운영 체제 중 가장 기본적인 소프트웨어이자 컴퓨터의 입출력을 처리하는 펌웨어라고 합니다. BIOS에 접속하기 위해서는 재부팅 시 F2나 Del 키를 누르라고 하는데, 타이밍을 놓치면 단순한 재부팅이 될 수 있습니다. 그래서 저는 해당 글을 참고하여 '설정 > 업데이트 및 보안 > 복구 > 지금 다시 시작 > 문제 해결 > 고급 옵션 > UEFI 펌웨어 설정 > 다시 시작'의 순서대로 BIOS에 접속하였습니다. 해당 글은 영어로 되어있기는 하지만, 화면 캡처가 되어있어 이해하기 쉬우실 것입니다.
저는 Lenovo ThinkPad였기 때문에 아래와 같은 UI가 나타났지만, 노트북마다 다를 수 있습니다. 다른 노트북의 경우 advanced에 접속한 이후, CPU 부분에서 가상화 관련 항목을 활성화하면 된다고 나와있었지만, Lenovo ThinkPad는 UI가 달라 처음에는 많이 헤맸습니다. Lenovo ThinkPad를 기준으로 설명드리면, 아래 그림처럼 'Security > Virtualization'에 접속한 이후, Intel Virtualization Technology 및 Intel VT-d Feature를 활성화하면 됩니다. On 부분을 클릭해도 활성화가 안 되었는데, 저의 경우 'Kernel ~' 항목이 활성화되어 있어, 해당 부분을 비활성화하니 Intel Virtualization Technology 및 Intel VT-d Feature, 두 항목이 활성화되었습니다.


가상화 활성화를 진행한 이후, Windows 기능 켜기/끄기를 다시 확인하니 Hyper-V 하이퍼바이저도 클릭할 수 있었고, 작업관리자에서 CPU의 가상화 부분도 '사용 안함'에서 '사용'으로 바뀐 것을 확인할 수 있었습니다.


가상화를 활성화해주니 Docker Desktop에 다시 접속해도 오류가 발생하지 않고 제대로 실행되었습니다.

Docker가 제대로 실행되고 있는지는 CMD에서 wsl -l -v 명령어를 통해서도 확인이 가능합니다.
Microsoft Windows [Version 10.0.19045.3324]
(c) Microsoft Corporation. All rights reserved.
C:\Users\ds>wsl -l -v
NAME STATE VERSION
* docker-desktop Running 2
docker-desktop-data Running 2
<참고>
윈도우 Docker 설치 완벽 가이드(Home 포함)
Docker는 경량 가상화 기술인 리눅스 컨테이너 도구입니다. 윈도우 Home과 Pro에서도 몇 가지 설정을 통해 Docker Desktop을 사용할 수 있습니다. 이 글에서는 윈도우에서 Docker Desktop을 설치하는 방법을
www.lainyzine.com
https://m.blog.naver.com/loverale/221297493415
윈도우10 가상모드 (Windows 10 Hyper-v) 설치, 가상pc 상세안내
안녕하세요, 정말 정말 오랜만에 포스팅 하게 되었습니다. 최근 대부분 사용하고 있는 OS는 이제 윈도우 ...
blog.naver.com
https://itsppaul2016.medium.com/docker-installation-error-virtualization-not-enabled-212dbba04e37
Docker Installation Error: Virtualization Not Enabled
Let’s discuss how to resolve the error “Hyper-V service is not available” or “Hyper-V Virtualisation id disabled” while installing docker…
itsppaul2016.medium.com
'MLOps > Docker' 카테고리의 다른 글
| [Docker] error getting credentials ~ 오류 해결 (0) | 2024.05.20 |
|---|---|
| [Docker] Dockerfile 작성 및 실행 (1) | 2023.12.15 |
| [Docker] PostgreSQL 서버 생성 (0) | 2023.12.12 |
| [Docker] permission denied while trying to connect to the Docker daemon socket at unix 오류 해결 (2) | 2023.11.10 |
| [Docker] 자주 사용하는 명령어 정리 (0) | 2023.10.20 |
댓글