IT/Cloud & DevOps

Windows 11 Home 에서 Docker 설치

iamhyeon 2025. 4. 12. 20:52

🔶 Docker란 ?

- 어플리케이션을 개발, 배포 및 실행하기 위한 플랫폼 및 도구 모음이다

- 애플리케이션을 컨테이너(container) 단위로 묶어 운영체제와 상관없이 어디서든 실행할 수 있게 해주는 가상화 플랫폼이다

- "한 번 만들면 어디서든 실행된다"는 개발-배포 일관성이 강점이다
- 기존의 무거운 가상머신(VM)과 달리, 빠르고 가볍고 유연하다

- Docker가 호스트 OS의 커널을 공유하고, 전체 운영 체제를 가상화하지 않기 때문이다

 

|  컨테이너

- 컨테이너는 애플리케이션과 그 실행 환경을 함께 묶은 독립 실행 단위이다
- 실행에 필요한 코드, 설정, 라이브러리, 시스템 도구 등을 포함한다
- 호스트 OS의 커널을 공유하므로 가볍고 빠르다

- Docker 컨테이너는 어플리케이션과 그 어플리케이션이 의존하는 라이브러리 및 기타 요소들을 함께 묶는 경량화된 실행 환경이다

- 컨테이너는 각각 독립된 환경을 제공하기 때문에 다른 어플리케이션 또는 시스템 설정과 충돌 없이 실행된다

 

|  이미지

- 이미지(Image)는 컨테이너의 실행 설계도 같은 것이다
- 컨테이너는 이미지를 기반으로 생성된다
- 일반적으로 Dockerfile을 통해 이미지가 생성된다

- 이미지는 애플리케이션의 실행에 필요한 모든 것을 포함하는 템플릿 역할을 한다

- 이미지 안에는 OS, 라이브러리, 앱 코드, 설정 등이 계층 구조로 들어있다

- 이미지는 레이어로 구성되어 있으며, 이 레이어들은 읽기 전용이다

- 컨테이너가 시작되면, 이미지 위에 쓰기 가능한 레이어가 추가된다

 

|  Docker Hub 및 레지스트리
- Docker Hub는 공개적으로 사용할 수 있는 Docker 이미지들을 저장하고 공유하는 저장소 역할이다 

- 사용자는 자신의 이미지를 Docker Hub에 업로드하거나 다른 사람이 만든 이미지를 다운로드할 수 있다

 

|  개발 및 배포 단순화
- Docker는 개발부터 테스트, 프로덕션에 이르기까지 소프트웨어 배포의 복잡성을 줄여준다

- 개발자가 애플리케이션을 보다 쉽고 빠르게 개발하고 배포할 수 있게 해준다

- 다양한 환경에서의 일관된 실행을 보장함으로써 소프트웨어의 이식성 문제를 해결한다

 

|  커널 (Kernel)

- 커널은 운영체제의 심장이자 하드웨어를 제어하는 실제 실행자이다 

- 커널은 운영체제의 핵심부분으로써 주로 디바이스 관리, 프로세스 관리, 메모리 관리, 시스템 콜 제공 같은 기능을 관리하는 등, 컴퓨터 자원을 관리한다
- 커널은 하드웨어와 소프트웨어 사이를 이어주는 중간 관리자다 
- 프로그램은 하드디스크, CPU, 메모리 같은 하드웨어를 직접 제어할 수 없다
- 운영체제(OS)가 하드웨어를 제어하고, 그 운영체제의 가장 밑바닥에 커널이 있다
- 앱(프로그램) → OS(운영체제) → 커널 → 하드웨어
- 커널은 프로그램이 하드웨어를 안전하게 쓸 수 있도록 중재해주는 역할이다 


🔶 윈도우 환경에서 도커 설치    (2025.04.12)

 

 

🔶윈도우 버전 확인   (Windows 11 기준)

 

- Docker는 Windows Pro, Enterprise, Education 버전이어야 하는데

- Home 버전에서는 Docker Desktop을 사용할 수 없다

- Docker Desktop은 기본적으로 Hyper-V 기능을 사용하기 때문에 Hyper-V 기능을 지원하지 않는 Windows Home Edition은 사용할 수 없다

 

- Windows11 Home 버전에서는 WSL2를 사용하여 Docker Desktop을 사용할 수 있다

|  WSL2

- Windows Subsystem for Linux 2

- 윈도우 환경에서 리눅스를 가상머신 없이 실행할 수 있도록 하는 하위 시스템이다 

 

- Docker는 리눅스를 기반으로 동작하기 때문에 윈도우 환경에서 리눅스를 사용할 수 있도록 도와주는 WSL2를 활성화 해야한다
- WSL(Windows Subsystem for Linux)는 VM과 같은 도구 없이 윈도우 환경에서 Linux를 사용할 수 있도록 도와준다
- PowerShell을 Bash처럼 사용하고, Linux 명령어(sed, awk, vim, apt 등)를 사용할 수 있을 뿐만 아니라 Linux 커널도 사용 가능하다

 

 

🔶 WSL2 관련 기능 활성화 및 설치

 

✅ 관리자 권한 (Ctrl+Shift+Enter) 으로 명령 프롬프트 실행,  명령어 입력

    - 제대로 실행이 안된다면 재부팅 후 다시 해보기

 

Windows SubSystem Linux를 활성화시키는 명령어

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

- WSL 기능을 Windows에 추가

 

VirtualMachinePlatform 기능을 활성화시키는 명령어 : WSL2 버전에 필요한 명령어

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

- WSL2를 위한 필수 컴포넌트 

 

=>  Windows에 WSL을 쓸 준비시켜주는 것 (관련 시스템 기능 켜기)

=>  dism으로 WSL 설치를 위한 "뼈대"를 켜는 느낌

=>  아래의 wsl --install 로 "몸통"을 설치하는 느낌

 

 

✅ 재부팅하기

 

 

✅ WSL 설치 및 Ubuntu 다운로드 

명령프롬프트 관리자 권한으로 실행

wsl --install

- WSL 커널 다운로드 및 설치

- Ubuntu 기본 배포판 자동 설치

- 필요한 패키지 구성 

 

 

✅ WSL 기본 버전을 2로 설정 

wsl --set-default-version 2

- 앞으로 설치되는 모든 Linux 배포판이 WSL2를 기본으로 사용하도록 지정한다

- Docker는 버전2에서만 제대로 작동한다

 

|  WSL 버전 확인

wsl -l -v

- VERSION 이 2로 나오면 OK

 

 

✅ 재부팅하기

 

 

✅ WSL2 리눅스 커널 업데이트 

wsl --update
wsl --shutdown

- WSL 최신 커널 설치 및 반영  (종종 해주기)

 


✅ Docker Desktop 설치

 

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

 

Windows

Get started with Docker for Windows. This guide covers system requirements, where to download, and instructions on how to install and update.

docs.docker.com

 

 

 

✅ Docker Desktop 실행

- Skip 누르기

- Docker를 개인용으로 쓰거나, 로컬 테스트용이면 로그인 없이도 사용 가능하다

- 개인 개발자, 학습 목적이라면 skip 누르는게 낫다고 한다 

- 로그인 하면  ⬇️

Docker Hub 연동 docker pull 시 내 계정 이미지로 접근
VSCode 연동 원격 컨테이너 작업 시 유리
도커 클라우드 팀 협업이나 이미지 자동 배포 설정 가능

- 로그인 필요한 경우

    - 계정에 컨테이너 이미지 Push

    - Docker Hub 의 Private 이미지 사용시

    - 팀이나 회사에서 Docker Hub 팀 계정 사용하는 경우 

 

=>  Docker Desktop 정상 실행 중

 

 

✅ Docker 정상 작동 확인   

    - Docker Desktop 켜진 상태에서 명령어 실행

    - Docker 엔진 (daemon) 이 백그라운드에 떠 있어야 작동하기 때문이다 

docker --version
docker run hello-world

=>  Docker 엔진 정상적으로 작동 중

=>  docker run 명령으로 이미지 다운로드 => 컨테이너 생성 => 실행 => 출력  까지 완수했다는 뜻 

 

 

 

 

 

 

 

 

 

 


refer to

https://mz-moonzoo.tistory.com/40

 

반응형

'IT > Cloud & DevOps' 카테고리의 다른 글

클라우드 환경에서 쿠버네티스 클러스터 만들기  (0) 2025.04.19
도커 이미지 만들어 보기  (0) 2025.04.19
도커 사용해보기  (0) 2025.04.17
컨테이너  (0) 2025.04.17
Kubernetes 쿠버네티스  (0) 2025.04.15