1
0
forked from baron/baron-sso
Files
baron-sso/docs/setup/WSL · Ubuntu · Docker 이해하기.md

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 서비스들이 실행된다."