8.1 KiB
WSL · Ubuntu · Docker 이해하기 (초보자용 가이드)
문서 정보
| 항목 | 내용 |
|---|---|
| 문서명 | WSL · Ubuntu · Docker 이해하기 |
| 대상 | 개발 입문자, 신규 팀원 |
| 작성목적 | Baron SSO 개발환경 이해 |
| 작성일 | 2026-06-12 |
1. 개요
현재 Baron SSO 개발환경은 다음과 같은 구조로 구성되어 있습니다.
Windows
↓
WSL
↓
Ubuntu
↓
Docker
↓
Baron 서비스들
처음 접하는 사람은 용어가 많아 어렵게 느껴질 수 있지만,
사실은 다음과 같이 이해하면 쉽습니다.
| 구성요소 | 비유 |
|---|---|
| Windows | 집 |
| WSL | 집 안의 리눅스 방 |
| Ubuntu | 방에 사는 사람 |
| Docker | 작업실 |
| Container | 개별 작업실 |
| Baron Backend | 백엔드 작업실 |
| Baron Frontend | 프론트엔드 작업실 |
| ClickHouse | 데이터 저장 작업실 |
2. 전체 구조 이해하기
실제 개발환경 구조
┌─────────────────────────┐
│ Windows 11 │
│ │
│ VS Code │
│ Chrome │
│ Git │
└──────────┬──────────────┘
│
▼
┌─────────────────────────┐
│ WSL │
│ (Windows Linux Layer) │
└──────────┬──────────────┘
│
▼
┌─────────────────────────┐
│ Ubuntu │
│ (Linux) │
└──────────┬──────────────┘
│
▼
┌─────────────────────────┐
│ Docker │
└──────────┬──────────────┘
│
▼
┌─────────┼─────────┬─────────┐
▼ ▼ ▼ ▼
Backend UserFront AdminFront ClickHouse
3. Windows란?
현재 우리가 사용하는 기본 운영체제(OS)입니다.
예)
C:\Users
D:\Project
E:\Workspace
Windows 환경에서 사용하는 경로입니다.
주요 프로그램
- VS Code
- Chrome
- Edge
- Explorer
- Git GUI
등이 Windows 위에서 실행됩니다.
4. WSL이란?
WSL
Windows Subsystem for Linux
즉,
"Windows 안에서 Linux를 실행할 수 있게 해주는 기능"
입니다.
WSL이 없던 시절
Linux를 사용하려면
PC
├─ Windows
└─ Virtual Machine
└─ Ubuntu
구조를 사용했습니다.
문제점
- 느림
- 무거움
- 메모리 많이 사용
WSL 사용
PC
├─ Windows
└─ WSL
└─ Ubuntu
장점
- 빠름
- 가벼움
- 실제 Linux와 거의 동일
5. Ubuntu란?
Ubuntu는 Linux 운영체제입니다.
Windows와 같은 OS입니다.
비교하면
| Windows | Linux |
|---|---|
| Windows 11 | Ubuntu |
| 탐색기 | Shell |
| CMD | Terminal |
| PowerShell | Bash |
Ubuntu 접속 예시
wsl
또는
ubuntu
실행 후
ubuntu@DESKTOP-XXXX:~$
가 보이면 Ubuntu 안에 들어온 상태입니다.
6. Docker란?
Docker는
"프로그램을 독립적으로 실행하는 기술"
입니다.
예를 들어
Baron 프로젝트에 필요한 것
NodeJS
Database
Backend
Frontend
ClickHouse
를 직접 설치하면
PC가 복잡해집니다.
Docker 사용 시
┌────────────┐
│ Backend │
└────────────┘
┌────────────┐
│ Frontend │
└────────────┘
┌────────────┐
│ Database │
└────────────┘
┌────────────┐
│ ClickHouse │
└────────────┘
각각 독립적으로 실행됩니다.
7. Container란?
Docker 안에서 실행되는 작은 서버입니다.
쉽게 말하면
"미니 컴퓨터"
라고 생각하면 됩니다.
현재 Baron 환경 예시
Container 1
baron_backend
Container 2
baron_userfront
Container 3
baron_adminfront
Container 4
baron_clickhouse
각 컨테이너는
- 독립 실행
- 독립 설정
- 독립 포트
를 가집니다.
8. Image와 Container 차이
많이 헷갈리는 부분입니다.
Image
설치 파일
예)
Windows 설치 ISO
와 비슷
Container
실행 중인 프로그램
예)
설치 완료 후 실행된 Windows
와 비슷
관계
Docker Image
↓
실행
↓
Container
9. 실제 Baron 프로젝트 구조
현재 개발환경
Windows
│
├─ VS Code
│
├─ Git
│
└─ E:\h_workspace\baron-sso
WSL에서 보면
/mnt/e/h_workspace/baron-sso
가 됩니다.
같은 폴더를
Windows와 Ubuntu가
다르게 표현하는 것입니다.
| Windows | Ubuntu |
|---|---|
| E:\h_workspace\baron-sso | /mnt/e/h_workspace/baron-sso |
10. VS Code는 어디서 실행되는가?
VS Code 자체는 Windows에서 실행됩니다.
Windows
└─ VS Code
하지만
Remote WSL 기능을 사용하면
VS Code
↓
WSL
↓
Ubuntu
에 연결됩니다.
좌측 하단에
WSL: Ubuntu
가 보이면
Ubuntu 내부를 편집 중인 상태입니다.
11. Docker Compose란?
여러 컨테이너를 한 번에 실행하는 기능입니다.
예)
docker-compose.yml
services:
backend:
...
userfront:
...
adminfront:
...
clickhouse:
...
실행
docker compose up -d
Docker가 자동으로
Backend 시작
UserFront 시작
AdminFront 시작
ClickHouse 시작
을 수행합니다.
12. Baron SSO 실행 흐름
개발자
│
▼
VS Code 수정
│
▼
Git 저장
│
▼
Docker Compose 실행
│
▼
Backend Container
UserFront Container
AdminFront Container
ClickHouse Container
│
▼
웹 브라우저 접속
13. 자주 사용하는 명령어
현재 컨테이너 보기
docker ps
전체 컨테이너 보기
docker ps -a
로그 보기
docker logs 컨테이너명
예)
docker logs baron_backend
컨테이너 접속
docker exec -it 컨테이너명 bash
예)
docker exec -it baron_backend bash
컨테이너 중지
docker stop 컨테이너명
컨테이너 재시작
docker restart 컨테이너명
14. 최종 정리
한 문장 설명
Windows
사용자가 사용하는 실제 운영체제
WSL
Windows 안에서 Linux를 사용할 수 있게 해주는 기능
Ubuntu
WSL 안에서 실행되는 Linux 운영체제
Docker
프로그램을 독립된 환경에서 실행하는 기술
Container
Docker 안에서 실행되는 개별 서비스
Baron SSO 전체 구조
사용자
│
▼
Windows
│
VS Code
│
WSL
│
Ubuntu
│
Docker
│
├─ baron_backend
├─ baron_userfront
├─ baron_adminfront
└─ baron_clickhouse
│
브라우저 접속
기억해야 할 핵심
"Windows 위에서 WSL이 동작하고,
WSL 안에서 Ubuntu가 실행되며,
Ubuntu 안에서 Docker가 실행되고,
Docker 안에서 Baron 서비스들이 실행된다."