๋ฌด๋ฃŒ๋‹ˆ ์–ด์„œ ๋ฐ›์•„๋ณด์„ธ์—ฌ AI ํ† ํฐ ๊ด€๋ฆฌ์‚ฌ ์–ด์„œ ์ฑ„์šฉํ•˜์„ธ์—ฌ

์ด๋ฏธ์ง€
  AI ํ† ํฐ ๊ณ„์‚ฐ ํ”„๋กœ๊ทธ๋žจ ๋ฆฌํฌํŠธ 1. ํ”„๋กœ๊ทธ๋žจ ๋ชฉ์  ์‚ฌ์šฉ์ž๊ฐ€ AI์— ์ž…๋ ฅํ•˜๋Š” ๊ธ€๊ณผ AI๊ฐ€ ์ƒ์„ฑํ•˜๋Š” ๋‹ต๋ณ€์˜ ํ† ํฐ ์ˆ˜์™€ ์˜ˆ์ƒ ๋น„์šฉ์„ ์ž๋™ ๊ณ„์‚ฐ ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ๋‹จ์ˆœํžˆ ๊ธ€์ž ์ˆ˜๋ฅผ ์„ธ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ: ์ž…๋ ฅ → ์‚ฌ์šฉ ๋ชจ๋ธ ์„ ํƒ → ์ž…๋ ฅ ํ† ํฐ ๊ณ„์‚ฐ → ์ถœ๋ ฅ ํ† ํฐ ์˜ˆ์ƒ/์‹ค์ธก → 1ํšŒ ๋น„์šฉ ๊ณ„์‚ฐ → 1์ผ·1๊ฐœ์›” ๋น„์šฉ ๊ณ„์‚ฐ → ์—ฌ๋Ÿฌ AI ๋ชจ๋ธ ๋น„๊ต ๊นŒ์ง€ ํ•œ ๋ฒˆ์— ๋ณด์—ฌ์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค. 2. ํ•ต์‹ฌ ๊ธฐ๋Šฅ ๊ธฐ๋Šฅ ๋‚ด์šฉ ์ž…๋ ฅ ํ† ํฐ ๊ณ„์‚ฐ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋ช‡ ํ† ํฐ์ธ์ง€ ๊ณ„์‚ฐ ์ถœ๋ ฅ ํ† ํฐ ๊ณ„์‚ฐ AI ๋‹ต๋ณ€ ํ† ํฐ ๊ณ„์‚ฐ ์ด ํ† ํฐ Input + Output API ๋น„์šฉ ๋ชจ๋ธ๋ณ„ ์‹ค์ œ ๊ฐ€๊ฒฉ ์ ์šฉ 1ํšŒ ๋น„์šฉ ํ•œ ๋ฒˆ ํ˜ธ์ถœํ–ˆ์„ ๋•Œ ๋น„์šฉ ์ผ์ผ ๋น„์šฉ ํ•˜๋ฃจ ์‚ฌ์šฉ๋Ÿ‰ ๊ธฐ์ค€ ์›”๊ฐ„ ๋น„์šฉ 30์ผ ๊ธฐ์ค€ ๋ชจ๋ธ ๋น„๊ต ์—ฌ๋Ÿฌ AI ๋ชจ๋ธ ๋น„์šฉ ๋น„๊ต ํ•œ๊ตญ์–ด ๊ณ„์‚ฐ ํ•œ๊ตญ์–ด ํŠน์„ฑ ๊ณ ๋ ค ์˜์–ด ๊ณ„์‚ฐ ์˜์–ด ํ† ํฐ ๊ณ„์‚ฐ ๊ธด ๋ฌธ์„œ ๊ณ„์‚ฐ PDF/ํ…์ŠคํŠธ ๋“ฑ API ์‚ฌ์šฉ๋Ÿ‰ ๋ถ„์„ ์‹ค์ œ API ๋กœ๊ทธ ๋ถ„์„ ์˜ˆ์‚ฐ ๊ฒฝ๊ณ  ์›” ์˜ˆ์‚ฐ ์ดˆ๊ณผ ์˜ˆ์ƒ ์‹œ ๊ฒฝ๊ณ  3. ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„ “๊ธ€์ž ์ˆ˜ × ์–ผ๋งˆ” ๋ฐฉ์‹์œผ๋กœ ๋งŒ๋“ค๋ฉด ์•ˆ ๋œ๋‹ค. AI ํ† ํฐ์€ ๋ชจ๋ธ๋งˆ๋‹ค ํ† ํฌ๋‚˜์ด์ €๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ™์€ ๋ฌธ์žฅ์ด๋ผ๋„ OpenAI Anthropic Google Meta Mistral Cohere ๋“ฑ์—์„œ ํ† ํฐํ™” ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€์—๋Š” ๋ชจ๋ธ๋ณ„ Tokenizer / ๊ณต์‹ ๊ฐ€๊ฒฉํ‘œ ๋ฅผ ์—ฐ๊ฒฐํ•ด์•ผ ํ•œ๋‹ค. 4. ๊ณ„์‚ฐ ๊ตฌ์กฐ ๊ธฐ๋ณธ ๊ณ„์‚ฐ์€ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๋‹ค. ์ž…๋ ฅ Input Tokens = ํ”„๋กฌํ”„ํŠธ ํ† ํฐ ์ˆ˜ ์ถœ๋ ฅ Output Tokens = AI ๋‹ต๋ณ€ ํ† ํฐ ์ˆ˜ ์ด ํ† ํฐ Total Tokens = Input Tokens + Output Tokens ๋น„์šฉ ๋ชจ๋ธ์˜ ๊ฐ€๊ฒฉ์ด Input $X / 1M tokens Output $Y / 1M tokens ์ด๋ผ๋ฉด, Input Cost = Input Tokens ÷ 1,000,000 × X Output Cost = Output Tokens ÷ 1,000,000 × Y ๊ทธ๋ฆฌ๊ณ  Total Cost = Input Co...

Docker ํ™˜๊ฒฝ์—์„œ Claude Code ์ปจํ…Œ์ด๋„ˆ ์„ค์น˜ ๊ฐ€์ด๋“œ

Docker ํ™˜๊ฒฝ์—์„œ Claude Code ์ปจํ…Œ์ด๋„ˆ ์„ค์น˜ ๊ฐ€์ด๋“œ
๋กœ์ปฌ·์„œ๋ฒ„·CI๊นŒ์ง€ ์ดํ•ด๋˜๋Š” ์™„์ „ ์ •์„ (2026 ์ตœ์‹ )

Claude Code๋ฅผ ์“ฐ๋‹ค ๋ณด๋ฉด
์–ธ์  ๊ฐ€ ๋ฐ˜๋“œ์‹œ ์ด ์งˆ๋ฌธ์— ๋„๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

“์ด๊ฑฐ Docker ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ ์“ธ ์ˆ˜ ์žˆ๋‚˜?”
“์„œ๋ฒ„๋‚˜ CI ํ™˜๊ฒฝ์—์„œ๋„ ๋Œ์•„๊ฐ€๊ฒŒ ํ•˜๊ณ  ์‹ถ์€๋ฐ…”

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด
๊ฐ€๋Šฅ์€ ํ•˜์ง€๋งŒ, ์•„๋ฌด ์ƒ๊ฐ ์—†์ด ํ•˜๋ฉด 100% ๋ง‰ํž™๋‹ˆ๋‹ค.

์ด ๊ธ€์€
์™œ Docker์—์„œ Claude Code๊ฐ€ ๊นŒ๋‹ค๋กœ์šด์ง€
์–ด๋””๊นŒ์ง€ ๊ฐ€๋Šฅํ•˜๊ณ  ์–ด๋””์„œ ๋ง‰ํžˆ๋Š”์ง€๋ฅผ
ํ˜„์‹ค ๊ธฐ์ค€์œผ๋กœ ์ •๋ฆฌํ•œ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.


๐Ÿ“Œ ๋ชฉ์ฐจ (๋ˆ„๋ฅด๋ฉด ์ด๋™)


1️⃣ Docker์—์„œ Claude Code๊ฐ€ ์–ด๋ ค์šด ์ด์œ 

Claude Code๋Š” ๋‹จ์ˆœํ•œ CLI๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

✔ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ์ ‘๊ทผ
✔ ํ„ฐ๋ฏธ๋„ ์ƒํ˜ธ์ž‘์šฉ
✔ ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ ์ธ์ฆ

์ด ์ค‘์—์„œ
Docker์™€ ๊ฐ€์žฅ ์ถฉ๋Œํ•˜๋Š” ์š”์†Œ๋Š”
๋ฐ”๋กœ ๋ธŒ๋ผ์šฐ์ € ์ธ์ฆ์ž…๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ์—๋Š”
๊ธฐ๋ณธ์ ์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์—†๊ณ 
์™ธ๋ถ€ ์ธ์ฆ ํ๋ฆ„๋„ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ Docker์—์„œ Claude Code๋Š”
๋กœ์ปฌ ๊ฐœ๋ฐœ์šฉ / ๋ณด์กฐ ๋ถ„์„์šฉ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


2️⃣ ๊ฐ€๋Šฅํ•œ Docker ์‚ฌ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค

ํ˜„์‹ค์ ์œผ๋กœ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ๋Š” ๋‹ค์Œ์ž…๋‹ˆ๋‹ค.

✔ ๋กœ์ปฌ ๊ฐœ๋ฐœ ์ปจํ…Œ์ด๋„ˆ
→ ์†Œ์Šค ๋ถ„์„, ์ฝ”๋“œ ์ดํ•ด, ๋ฆฌํŒฉํ„ฐ๋ง ๋ณด์กฐ

✔ ์„œ๋ฒ„ ์ ‘์†์šฉ ์ปจํ…Œ์ด๋„ˆ
→ SSH ํ™˜๊ฒฝ์—์„œ ์ฝ”๋“œ ๊ฒ€ํ† 

❌ ์™„์ „ ์ž๋™ CI
→ ๋กœ๊ทธ์ธ/์ธ์ฆ ๋•Œ๋ฌธ์— ๋น„๊ถŒ์žฅ

์ฆ‰, Docker์—์„œ๋Š”
“์‚ฌ๋žŒ์ด ์ง์ ‘ ์“ฐ๋Š” AI ๋„๊ตฌ”๋ผ๋Š” ์ „์ œ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


3️⃣ Dockerfile ๊ธฐ๋ณธ ๊ตฌ์กฐ

Claude Code๋Š” Node.js 18+๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€๋Š”
๊ณต์‹ node ์ด๋ฏธ์ง€๊ฐ€ ์ •์„์ž…๋‹ˆ๋‹ค.

FROM node:18-bullseye

WORKDIR /app

RUN npm install -g @anthropic-ai/claude-code

CMD ["/bin/bash"]

์ด ๊ตฌ์กฐ๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ ๋Š”
๋ถˆํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ 
Claude Code ์‹คํ–‰์—๋งŒ ์ง‘์ค‘ํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค.


4️⃣ Claude Code ์ปจํ…Œ์ด๋„ˆ ์„ค์น˜ ์‹ค์ „

1️⃣ ์ด๋ฏธ์ง€ ๋นŒ๋“œ

docker build -t claude-code .

2️⃣ ํ”„๋กœ์ ํŠธ ํด๋” ๋งˆ์šดํŠธ ํ›„ ์‹คํ–‰

docker run -it \
-v $(pwd):/app \
claude-code

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด
๋กœ์ปฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ทธ๋Œ€๋กœ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ

claude

๋ฅผ ์‹คํ–‰ํ•˜๋ฉด
Claude Code๊ฐ€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.


5️⃣ ์ธ์ฆ(Anthropic ๋กœ๊ทธ์ธ) ์ฒ˜๋ฆฌ ์ „๋žต

๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

Docker ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ
๋ธŒ๋ผ์šฐ์ € ์ธ์ฆ์€ ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ํ˜„์‹ค์ ์ธ ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

① ๋กœ์ปฌ์—์„œ ๋จผ์ € ๋กœ๊ทธ์ธ
→ ์ธ์ฆ ํ† ํฐ ์ƒ์„ฑ

② ์ธ์ฆ ์ •๋ณด ๋ณผ๋ฅจ ๋งˆ์šดํŠธ
→ ์ปจํ…Œ์ด๋„ˆ์— ์ „๋‹ฌ

์˜ˆ์‹œ

-v ~/.config:/root/.config

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด
๋กœ์ปฌ์—์„œ ์ด๋ฏธ ์ธ์ฆ๋œ Claude Code ์ •๋ณด๋ฅผ
์ปจํ…Œ์ด๋„ˆ์—์„œ๋„ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


6️⃣ Docker์—์„œ ์ž์ฃผ ํ„ฐ์ง€๋Š” ๋ฌธ์ œ

์‹ค์ œ ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜์˜ค๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

❌ claude ์‹คํ–‰ ์‹œ ๋กœ๊ทธ์ธ ๋ฃจํ”„
→ ์ธ์ฆ ๋ณผ๋ฅจ ๋ฏธ๋งˆ์šดํŠธ

❌ ํŒŒ์ผ ์ ‘๊ทผ ๊ถŒํ•œ ์˜ค๋ฅ˜
→ UID/GID ๋ถˆ์ผ์น˜

❌ ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ ์‹œ ์„ค์ • ๋‚ ์•„๊ฐ
→ ๋ณผ๋ฅจ ๋ฏธ์‚ฌ์šฉ

Docker์—์„œ๋Š”
“ํœ˜๋ฐœ์„ฑ ํ™˜๊ฒฝ”์„ ํ•ญ์ƒ ์—ผ๋‘์— ๋‘ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.


๋งˆ๋ฌด๋ฆฌ ์ •๋ฆฌ

Claude Code๋Š”
Docker์™€ ๊ถํ•ฉ์ด ๋‚˜์œ ๋„๊ตฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๋‹ค๋งŒ,
๋ธŒ๋ผ์šฐ์ € ์ธ์ฆ์ด๋ผ๋Š” ์ธ๊ฐ„์šฉ ์ ˆ์ฐจ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—
์™„์ „ ์ž๋™ํ™”๋Š” ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

์ •๋ฆฌํ•˜๋ฉด ์ด๋ ‡์Šต๋‹ˆ๋‹ค.

๋กœ์ปฌ ๋กœ๊ทธ์ธ → ์ธ์ฆ ๊ณต์œ  → ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰

์ด ํ๋ฆ„๋งŒ ์ง€ํ‚ค๋ฉด
Docker ํ™˜๊ฒฝ์—์„œ๋„ Claude Code๋Š”
์ถฉ๋ถ„ํžˆ ๊ฐ•๋ ฅํ•œ ๋ถ„์„ ๋„๊ตฌ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ธ€์—์„œ๋Š”
Claude Code + Docker + VSCode Dev Container
์›๊ฒฉ ์„œ๋ฒ„์—์„œ ์“ฐ๋Š” ์‹ค์ „ ๊ตฌ์„ฑ์„
์ •๋ฆฌํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด ๋ธ”๋กœ๊ทธ์˜ ์ธ๊ธฐ ๊ฒŒ์‹œ๋ฌผ

ํด๋กœ๋“œ ์ฝ”๋“œ React TypeScript ์Šคํƒ€์ผ ์ผ๊ด€์„ฑ ์œ ์ง€ ํŒ

๊ธฐํ˜ธ๋กœ ํ”„๋กœ์ ํŠธ ์ปจํ…์ŠคํŠธ ์‹ค์‹œ๊ฐ„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฒ•

ํด๋กœ๋“œ ์ฝ”๋“œ n8n ์›Œํฌํ”Œ๋กœ์šฐ ์ž๋™ํ™” ์—ฐ๋™ ๊ฐ€์ด๋“œ