도커 돌리는 노트북 사양 — 램 16GB로 되나
"개발용 노트북 램 16GB면 되나요?"
이 질문에는 도커를 쓰느냐 아니냐로 답이 갈립니다. 웹 개발만 하면 16GB로 충분한데, 도커를 띄우기 시작하면 이야기가 완전히 달라집니다.
도커는 CPU보다 램을 먼저 먹습니다. 그리고 그게 노트북에서 문제가 되는 이유는, 램은 나중에 못 늘리는 경우가 많기 때문입니다.
결론부터
| 쓰는 방식 | 필요한 램 |
|---|---|
| 컨테이너 1~2개 (웹 서버 + DB 하나) | 16GB로 됩니다 |
| 컨테이너 3~5개 (DB + 캐시 + 큐 + 앱) | 32GB |
| 컨테이너 여럿 + IDE + 브라우저 상시 | 32GB 이상 |
| 쿠버네티스 로컬 클러스터 | 32GB 이상 |
| 항목 | 판단 |
|---|---|
| CPU | 요즘 노트북이면 대개 충분합니다 |
| 램 | 여기가 전부입니다 |
| SSD | 1TB 권장 — 이미지가 생각보다 큽니다 |
| 그래픽카드 | 도커와 무관합니다 |
1. 도커가 램을 먹는 구조 — 윈도우가 특히 다릅니다
리눅스에서는 컨테이너가 그냥 프로세스입니다. 쓰는 만큼만 램을 먹습니다.
윈도우에서는 다릅니다. 도커가 WSL2라는 리눅스 환경 위에서 돌기 때문에, 그 리눅스가 먼저 램을 잡습니다.
윈도우
└ WSL2 (리눅스 가상 환경) ← 여기가 램을 통째로 예약합니다
└ 도커
└ 컨테이너들
작업 관리자에서 Vmmem 이라는 게 램을 잔뜩 먹고 있는 걸 보신 적이 있다면, 그게 이겁니다. 도커가 아니라 그 아래 리눅스입니다.
기본값이 "전체 램의 50% 또는 8GB 중 작은 값"입니다.
| 내 램 | WSL2가 가져갈 수 있는 몫 |
|---|---|
| 16GB | 8GB |
| 32GB | 8GB |
| 64GB | 8GB |
16GB에서는 절반이 통째로 넘어갑니다. 여기에 윈도우와 브라우저와 IDE가 얹히면 남는 게 없습니다.
이 값은 조절할 수 있습니다. 방법은 WSL2가 램을 다 먹을 때에 따로 적었습니다.
맥도 비슷합니다. 맥의 도커도 가상 환경 위에서 돌아서 별도로 램을 예약합니다.
2. 컨테이너 하나가 얼마나 먹나
기본 설정 기준의 대략치입니다. 이미지와 설정에 따라 크게 달라집니다.
| 컨테이너 | 대략적인 램 |
|---|---|
| Nginx · 간단한 웹 서버 | 수십 MB |
| Node · Python 앱 | 100~300MB |
| PostgreSQL · MySQL | 300MB~1GB |
| Redis | 100MB~ (넣는 데이터만큼) |
| Elasticsearch | 1~2GB ← 혼자 제일 큽니다 |
| Kafka · RabbitMQ | 500MB~1GB |
앱은 작고 데이터베이스 계열이 큽니다. 그래서 "컨테이너 몇 개"보다 "DB를 몇 개 띄우느냐"가 실제 기준입니다.
내 환경에서 직접 재는 법
추측하지 말고 재보는 게 정확합니다.
docker stats
지금 돌고 있는 컨테이너의 램 사용량이 실시간으로 나옵니다. 평소 작업을 다 띄운 상태에서 한 번 보세요.
3. 16GB가 터지는 지점
실제로 이렇게 쌓입니다.
윈도우 자체 4~6GB
브라우저 탭 여러 개 2~4GB
IDE (인텔리제이·VS Code) 1~3GB
────────────────────────────
여기까지 이미 7~13GB
WSL2 + 도커가 가져갈 몫 최대 8GB
16GB에서는 숫자가 안 맞습니다. 그래서 도커를 띄우면 갑자기 전체가 느려지는 경험을 하게 됩니다.
증상이 이렇습니다.
- 컨테이너를 띄우는 순간 다른 프로그램이 버벅입니다
- 브라우저 탭이 저절로 새로고침됩니다
- 빌드 중에 IDE가 멈칫합니다
- 디스크가 계속 돌아갑니다 (스왑)
에러가 나는 게 아니라 전체가 느려지는 것이라 원인을 찾기 어렵습니다. 로컬 LLM에서 VRAM이 모자랄 때와 같은 양상입니다.
16GB로 버티는 법
램을 못 늘리는 상황이라면 이 정도가 할 수 있는 전부입니다.
- WSL2 상한을 직접 정하세요 — 기본 8GB를 4~6GB로 줄이면 나머지가 숨을 쉽니다
- 안 쓰는 컨테이너는 끄세요 —
docker ps로 확인하고 정리합니다 - Elasticsearch 같은 큰 것은 필요할 때만 띄웁니다
- 브라우저 탭을 줄이세요 — 의외로 여기서 몇 GB가 나옵니다
4. 디스크 — 여기서 자주 당합니다
램만 보다가 SSD에서 터지는 경우가 많습니다.
도커는 이미지를 쌓아둡니다. 그리고 안 지웁니다.
| 항목 | 대략 |
|---|---|
| 언어 런타임 이미지 하나 | 300MB~1GB |
| DB 이미지 하나 | 300MB~700MB |
| 빌드 캐시 | 금방 수십 GB |
| 안 쓰는 이미지·볼륨 | 계속 쌓입니다 |
몇 달 쓰면 도커가 혼자 50GB를 넘기는 일이 흔합니다.
정리는 이 명령으로 합니다.
docker system df # 얼마나 쓰고 있는지 확인
docker system prune # 안 쓰는 것 정리
⚠️
prune은 안 쓰는 이미지·컨테이너·네트워크를 지웁니다. 볼륨(데이터)까지 지우는 옵션은 따로 있으니, 뭘 지우는지 보고 실행하세요.
노트북 SSD는 1TB를 권합니다. 로컬 LLM까지 겸하면 모델 파일이 하나에 5~20GB라 더 빨리 찹니다.
5. CPU와 그래픽카드는 신경 안 쓰셔도 됩니다
CPU — 컨테이너는 대부분 놀고 있습니다. 빌드할 때만 일하고, 그건 코어 수가 도와줍니다. 요즘 노트북 CPU면 대개 충분합니다.
그래픽카드 — 도커와 아무 관계 없습니다. 로컬 LLM을 겸할 거라면 그건 따로 판단하셔야 합니다.
예산이 있다면 CPU 등급을 올리는 것보다 램을 32GB로 가는 편이 도커 환경에서는 체감이 훨씬 큽니다.
6. 그래서 어떤 노트북을 사야 하나
| 확인 | 왜 |
|---|---|
| 램 슬롯이 있는가 | 없으면 살 때 32GB여야 합니다 |
| 램 32GB 구성이 있는가 | 온보드면 이게 상한입니다 |
| SSD 1TB 또는 슬롯 2개 | 이미지가 쌓입니다 |
| CPU 등급 | 대개 신경 안 쓰셔도 됩니다 |
순서가 중요합니다. 노트북은 바꿀 수 없는 것부터 정해야 합니다 — 개발용 노트북 사양에 그 순서를 정리해 뒀습니다.
⚠️ 2026년 들어 램 값이 크게 올라서, 32GB 구성의 웃돈이 예전보다 큽니다. 슬롯이 있는 모델의 값어치가 지금 특히 큽니다 — 램 값이 올랐습니다를 함께 보세요.
자주 묻는 질문
맥에서 도커가 느린데 정상인가요
맥의 도커도 가상 환경 위에서 돌아서, 특히 파일 접근이 느린 편입니다. 소스 폴더를 컨테이너에 연결해 쓰면 체감됩니다. 구조상의 특성이라 설정으로 크게 해결되지는 않습니다.
WSL2가 램을 안 돌려줍니다
한 번 잡은 램을 바로 안 놓는 동작이 있습니다.
.wslconfig 로 상한을 정하면 됩니다 — WSL2가 램을 다 먹을 때에 적었습니다.
컨테이너마다 램을 제한할 수 있나요
가능합니다. 실행할 때 메모리 상한 옵션을 주면 됩니다. 다만 상한을 넘기면 컨테이너가 강제 종료되므로, DB 같은 건 넉넉히 잡으셔야 합니다.
16GB인데 32GB로 늘리면 확실히 나아지나요
도커를 쓰신다면 네. 지금 스왑이 일어나고 있을 가능성이 큽니다. 작업 관리자 → 성능 → 메모리에서 "커밋된 메모리"가 물리 램보다 크면 이미 디스크로 넘어가고 있다는 뜻입니다. 판단 기준은 램 16GB vs 32GB에 있습니다.
도커 대신 쓸 방법은 없나요
가벼운 대안들이 있지만 램을 먹는 구조 자체는 비슷합니다. 윈도우에서는 결국 리눅스 환경이 하나 떠야 하기 때문입니다.
로컬 LLM이랑 같이 돌려도 되나요
됩니다. 다만 로컬 LLM은 VRAM, 도커는 시스템 램으로 서로 다른 자원을 씁니다. 둘 다 하실 거면 램 32GB + VRAM 12GB 이상이 편합니다.
정리
- 도커에서 갈리는 건 램 하나입니다. CPU·그래픽카드는 거의 무관합니다
- 윈도우는 WSL2가 램을 먼저 예약합니다. 기본값이 최대 8GB입니다
- DB 계열 컨테이너가 큽니다. 개수보다 "DB를 몇 개 띄우나"가 기준입니다
- 컨테이너 3개 이상이면 32GB입니다. 1~2개면 16GB로 됩니다
- SSD가 조용히 찹니다.
docker system df로 가끔 확인하세요 - 노트북은 램 슬롯이 있는지부터 확인하세요
실제 사용 결과가 다르면 알려주세요. 확인 후 갱신합니다.