Part 2. Windows에서 Docker 개발환경 구축하기
Windows 환경에서 Docker를 사용하기 위해 필요한 Docker Desktop, WSL2, Ubuntu의 역할을 정리하고, 설치 전 확인해야 할 개념과 설치 후 확인 명령어를 설명한다.
Part 2. Windows에서 Docker 개발환경 구축하기
1. Part 2에서 다루는 내용
Part 2에서는 Windows 환경에서 Docker를 사용할 수 있도록 개발환경을 구축한다.
Docker를 Windows에서 사용하려면 보통 다음 요소가 필요하다.
Docker Desktop
WSL 2
Ubuntu
Windows Terminal 또는 PowerShell
각 요소의 역할은 다음과 같다.
Docker Desktop = Windows에서 Docker를 쉽게 사용할 수 있게 해주는 프로그램
WSL 2 = Windows 안에서 Linux 환경을 실행할 수 있게 해주는 기능
Ubuntu = WSL 2에서 사용할 Linux 배포판
Terminal = Docker 명령어를 입력하는 도구
2. Windows에서 Docker를 설치할 때 왜 WSL 2가 필요한가
AD
제휴 광고 · 일부 링크는 수수료를 받을 수 있습니다
Docker는 리눅스 기반 컨테이너 기술과 밀접하게 연결되어 있다.
Windows는 리눅스가 아니다.
그래서 Windows에서 Docker 컨테이너를 안정적으로 실행하려면 Windows 안에 리눅스 환경이 필요하다.
이 역할을 하는 것이 WSL 2다.
WSL = Windows Subsystem for Linux
뜻은 Windows 안에서 Linux를 사용할 수 있게 해주는 기능이다.
WSL 2를 사용하면 Windows를 포맷하거나 리눅스를 따로 설치하지 않아도 Windows 안에서 Linux 환경을 사용할 수 있다.
Windows에서 Docker를 사용할 때의 구조는 다음과 같다.
Windows
→ Docker Desktop
→ WSL 2
→ Ubuntu
→ Docker Engine
→ Container
정리하면 다음과 같다.
Windows = 실제 사용하는 운영체제
Docker Desktop = Docker를 관리하는 프로그램
WSL 2 = Windows 안에서 Linux를 실행하는 기능
Ubuntu = WSL 2에서 사용하는 Linux 환경
Docker Engine = 이미지를 만들고 컨테이너를 실행하는 핵심 기능
Container = 애플리케이션이 실행되는 격리된 공간
3. Docker Desktop이란 무엇인가
Docker Desktop은 Windows와 Mac에서 Docker를 쉽게 사용할 수 있게 해주는 프로그램이다.
Docker를 사용하려면 Docker Engine이 필요하다.
Docker Engine은 이미지를 만들고 컨테이너를 실행하는 핵심 기능이다.
하지만 Windows에서 Docker Engine만 직접 설치하고 설정하는 것은 복잡하다.
Docker Desktop은 이 과정을 쉽게 만들어준다.
Docker Desktop에서 할 수 있는 일은 다음과 같다.
- Docker Engine 실행
- 컨테이너 목록 확인
- 이미지 목록 확인
- 볼륨 확인
- 로그 확인
- WSL 2 연동
- Docker 설정 관리
즉 Docker Desktop은 Docker를 쉽게 관리하기 위한 프로그램이다.
4. WSL 2란 무엇인가
WSL 2는 Windows 안에서 Linux 환경을 사용할 수 있게 해주는 기능이다.
Linux는 서버에서 많이 사용하는 운영체제다.
Docker 컨테이너도 보통 Linux 환경을 기준으로 실행된다.
그래서 Windows에서 Docker를 사용할 때 WSL 2가 중요하다.
WSL 2를 사용하면 Windows 안에서 Ubuntu 같은 Linux 배포판을 실행할 수 있다.
Windows 안에서 Ubuntu 터미널 사용 가능
Linux 명령어 사용 가능
Docker Desktop과 연동 가능
프로젝트 개발환경 구성 가능
WSL 2는 가상머신과 비슷해 보이지만, Windows와 더 밀접하게 통합되어 있다.
Docker Desktop은 WSL 2를 기반으로 Linux 컨테이너를 실행할 수 있다.
5. Ubuntu란 무엇인가
Ubuntu는 Linux 배포판 중 하나다.
Linux는 운영체제의 한 종류이고, Ubuntu는 그 Linux를 사용하기 쉽게 구성한 버전이다.
Linux 배포판에는 여러 종류가 있다.
Ubuntu
Debian
Fedora
CentOS
Alpine
그중 Ubuntu는 사용자가 많고 자료가 많아서 개발환경에서 자주 사용된다.
Windows에서 WSL 2를 사용할 때도 Ubuntu를 많이 선택한다.
Docker 자체를 사용하기 위해 Ubuntu를 반드시 깊게 알아야 하는 것은 아니다.
다만 Docker 명령어를 실행하거나 리눅스 기반 개발환경을 구성할 때 Ubuntu를 함께 사용하는 경우가 많다.
6. 터미널이란 무엇인가
터미널은 명령어를 입력해서 컴퓨터를 조작하는 도구다.
Windows에서는 보통 다음 터미널을 사용한다.
PowerShell
명령 프롬프트
Windows Terminal
Ubuntu Terminal
Docker는 대부분 명령어로 사용한다.
예를 들어 Docker 버전을 확인할 때는 다음 명령어를 입력한다.
docker --version
컨테이너를 실행할 때는 다음 명령어를 입력한다.
docker run hello-world
즉 Docker를 제대로 사용하려면 터미널에서 명령어를 입력하는 방식에 익숙해져야 한다.
7. 설치 전 확인할 것
Docker Desktop을 설치하기 전에 확인할 것은 다음과 같다.
Windows 버전
가상화 기능 활성화 여부
WSL 2 설치 여부
Ubuntu 설치 여부
Docker Desktop 설치 여부
Windows 버전
Windows에서 Docker Desktop을 사용하려면 비교적 최신 Windows 환경이 필요하다.
일반적으로 Windows 10 또는 Windows 11에서 사용한다.
가상화 기능
가상화 기능은 컴퓨터 안에서 다른 실행 환경을 만들 수 있게 해주는 기능이다.
Docker Desktop과 WSL 2를 사용할 때 필요할 수 있다.
작업 관리자에서 확인할 수 있다.
작업 관리자
→ 성능
→ CPU
→ 가상화: 사용
가상화가 사용 안 함으로 되어 있다면 BIOS 또는 UEFI 설정에서 활성화해야 할 수 있다.
WSL 2
WSL 2는 Windows 안에서 Linux를 실행하기 위한 기능이다.
Docker Desktop은 Windows에서 WSL 2 기반으로 동작하는 경우가 많다.
Ubuntu
Ubuntu는 WSL 2에서 사용할 Linux 환경이다.
Microsoft Store 또는 터미널 명령어로 설치할 수 있다.
8. WSL 2 설치 확인
PowerShell 또는 Windows Terminal을 열고 다음 명령어를 입력한다.
wsl --status
이 명령어는 WSL 상태를 확인한다.
WSL이 설치되어 있으면 기본 버전, 기본 배포판 등의 정보가 표시된다.
WSL에 설치된 Linux 배포판 목록을 확인하려면 다음 명령어를 사용한다.
wsl -l -v
각 항목의 의미는 다음과 같다.
NAME = 설치된 Linux 배포판 이름
STATE = 실행 상태
VERSION = WSL 버전
예시는 다음과 같다.
NAME STATE VERSION
Ubuntu Running 2
VERSION이 2라면 WSL 2를 사용 중인 것이다.
9. WSL 설치 명령어
WSL이 설치되어 있지 않다면 PowerShell을 관리자 권한으로 실행한 뒤 다음 명령어를 사용할 수 있다.
wsl --install
이 명령어는 WSL과 기본 Linux 배포판을 설치한다.
설치 후에는 컴퓨터 재부팅이 필요할 수 있다.
Ubuntu를 직접 지정해서 설치하려면 다음 명령어를 사용할 수 있다.
wsl --install -d Ubuntu
설치가 끝나면 Ubuntu를 처음 실행할 때 사용자 이름과 비밀번호를 설정한다.
이 비밀번호는 Windows 로그인 비밀번호와 다를 수 있다.
10. Docker Desktop 설치
Docker Desktop은 Docker 공식 사이트에서 설치할 수 있다.
설치 과정에서는 기본 설정을 그대로 사용해도 된다.
Windows 환경에서는 WSL 2 기반 엔진 사용 옵션이 중요하다.
Use WSL 2 based engine
이 옵션은 Docker Desktop이 WSL 2를 기반으로 컨테이너를 실행하도록 설정하는 옵션이다.
설치 후 Docker Desktop을 실행하면 Docker Engine이 시작된다.
Docker Desktop이 정상 실행되면 터미널에서 Docker 명령어를 사용할 수 있다.
11. Docker Desktop WSL 연동 확인
Docker Desktop에서 WSL 연동을 확인해야 한다.
확인 경로는 다음과 같다.
Docker Desktop
→ Settings
→ Resources
→ WSL Integration
여기에서 Ubuntu 연동이 켜져 있어야 한다.
이 설정이 켜져 있으면 Ubuntu 터미널에서도 Docker 명령어를 사용할 수 있다.
정리하면 다음과 같다.
WSL Integration ON = Ubuntu에서 Docker 명령어 사용 가능
WSL Integration OFF = Ubuntu에서 Docker 명령어가 안 될 수 있음
12. Docker 설치 확인
AD
제휴 광고 · 일부 링크는 수수료를 받을 수 있습니다
케이메이트 - 외국인친구 만들기
설치가 끝났다면 PowerShell 또는 Windows Terminal에서 다음 명령어를 입력한다.
docker --version
이 명령어는 Docker 버전을 확인한다.
정상적으로 설치되어 있으면 Docker 버전이 출력된다.
예시는 다음과 같다.
Docker version 27.x.x
Docker Compose 버전도 확인한다.
docker compose version
Docker Compose는 여러 컨테이너를 한 번에 관리할 때 사용하는 도구다.
Docker Desktop에는 Docker Compose가 함께 포함되어 있는 경우가 많다.
13. hello-world 컨테이너 실행
Docker가 정상적으로 동작하는지 확인하려면 hello-world 컨테이너를 실행한다.
docker run hello-world
이 명령어는 Docker의 기본 테스트용 이미지를 실행한다.
동작 흐름은 다음과 같다.
1. 로컬 컴퓨터에 hello-world 이미지가 있는지 확인한다.
2. 이미지가 없으면 Docker Hub에서 내려받는다.
3. 이미지를 컨테이너로 실행한다.
4. 테스트 메시지를 출력한다.
5. 컨테이너 실행이 종료된다.
정상적으로 실행되면 Docker 설치가 완료된 것이다.
14. docker run hello-world 명령어 이해하기
다음 명령어를 다시 보면 구조가 단순하다.
docker run hello-world
각 부분의 의미는 다음과 같다.
docker = Docker 명령어 실행
run = 컨테이너 실행
hello-world = 실행할 이미지 이름
즉 이 명령어의 의미는 다음과 같다.
hello-world 이미지를 컨테이너로 실행한다.
이미지가 로컬에 없으면 Docker가 Docker Hub에서 자동으로 내려받는다.
15. 컨테이너 목록 확인
실행 중인 컨테이너 목록은 다음 명령어로 확인한다.
docker ps
다만 hello-world 컨테이너는 메시지를 출력하고 바로 종료된다.
그래서 docker ps에는 보이지 않을 수 있다.
종료된 컨테이너까지 모두 보려면 다음 명령어를 사용한다.
docker ps -a
각 명령어의 차이는 다음과 같다.
docker ps = 실행 중인 컨테이너만 확인
docker ps -a = 종료된 컨테이너까지 전체 확인
16. 이미지 목록 확인
로컬 컴퓨터에 저장된 Docker 이미지 목록은 다음 명령어로 확인한다.
docker images
hello-world를 실행했다면 이미지 목록에 hello-world가 보일 수 있다.
이미지는 컨테이너를 만들기 위한 실행 환경 패키지다.
컨테이너를 삭제해도 이미지는 남아 있을 수 있다.
이미지가 남아 있으면 다음에 같은 이미지를 실행할 때 다시 내려받지 않아도 된다.
17. Docker Desktop 화면에서 확인할 것
Docker Desktop을 열면 컨테이너와 이미지를 화면에서 확인할 수 있다.
주로 확인할 메뉴는 다음과 같다.
Containers
Images
Volumes
Builds
Settings
각 메뉴의 의미는 다음과 같다.
Containers = 실행 중이거나 종료된 컨테이너 목록
Images = 내려받거나 직접 만든 이미지 목록
Volumes = 컨테이너 밖에 저장되는 데이터 공간
Settings = Docker Desktop 설정
Builds = 이미지 빌드 관련 정보
초반에는 Containers와 Images만 확인해도 충분하다.
18. 설치 후 기본 확인 명령어
Docker 설치 후 최소한 다음 명령어는 확인해야 한다.
docker --version
docker compose version
docker run hello-world
docker ps
docker ps -a
docker images
각 명령어의 의미는 다음과 같다.
docker --version = Docker 설치 여부와 버전 확인
docker compose version = Docker Compose 설치 여부와 버전 확인
docker run hello-world = Docker 실행 테스트
docker ps = 실행 중인 컨테이너 확인
docker ps -a = 전체 컨테이너 확인
docker images = 로컬 이미지 목록 확인
19. 자주 헷갈리는 부분
Docker Desktop을 켜야 Docker 명령어가 동작하는가
Windows에서는 보통 Docker Desktop이 실행 중이어야 Docker 명령어가 정상 동작한다.
Docker Desktop이 꺼져 있으면 다음과 같은 오류가 날 수 있다.
Cannot connect to the Docker daemon
이 오류는 Docker Engine에 연결할 수 없다는 뜻이다.
PowerShell과 Ubuntu 터미널 중 어디서 실행해야 하는가
초반에는 PowerShell 또는 Windows Terminal에서 실행해도 된다.
WSL 연동이 켜져 있다면 Ubuntu 터미널에서도 Docker 명령어를 사용할 수 있다.
실제 프로젝트가 Windows 경로에 있다면 PowerShell에서 시작해도 된다.
리눅스 기반 개발환경에 익숙해지고 싶다면 Ubuntu 터미널을 사용하는 것도 좋다.
Docker와 Ubuntu는 같은 것인가
같은 것이 아니다.
Docker = 컨테이너를 실행하는 도구
Ubuntu = Linux 배포판
WSL 2 = Windows 안에서 Ubuntu 같은 Linux를 실행하는 기능
Docker를 설치하면 자동으로 프로젝트가 배포되는가
아니다.
Docker는 실행 환경을 만들고 관리하는 도구다.
배포는 Docker 이미지를 서버나 배포 플랫폼에서 실행하는 과정이다.
20. Part 2 정리
AD
제휴 광고 · 일부 링크는 수수료를 받을 수 있습니다
Windows에서 Docker를 사용하려면 Docker Desktop과 WSL 2 구조를 이해해야 한다.
핵심 구조는 다음과 같다.
Windows
→ Docker Desktop
→ WSL 2
→ Ubuntu
→ Docker Engine
→ Container
각 요소를 짧게 정리하면 다음과 같다.
Docker Desktop = Windows에서 Docker를 쉽게 사용할 수 있게 해주는 프로그램
WSL 2 = Windows 안에서 Linux 환경을 실행하는 기능
Ubuntu = WSL 2에서 사용할 수 있는 Linux 배포판
Docker Engine = 이미지를 만들고 컨테이너를 실행하는 핵심 기능
Container = 애플리케이션이 실행되는 격리된 공간
PowerShell = Windows에서 명령어를 입력하는 터미널
Windows Terminal = 여러 터미널을 한 곳에서 사용할 수 있는 터미널 앱
설치 후 확인해야 할 명령어는 다음과 같다.
docker --version
docker compose version
docker run hello-world
docker ps
docker ps -a
docker images
Part 2의 목표는 Docker Desktop을 설치하고, Docker 명령어가 정상적으로 동작하는지 확인하는 것이다.
AD
제휴 광고
일부 링크는 제휴 링크이며, 구매 또는 가입 시 일정 수수료를 받을 수 있습니다.
AD









