AI 코딩 도구나 개인 어시스턴트를 쓰다 보면 늘 같은 고민이 따라옵니다. 민감한 코드를 외부 서버로 보내도 괜찮을까? 토큰 비용이 얼마나 나올까? Docker가 최근 공개한 Model Runner는 이 두 가지를 동시에 해결합니다. AI 모델을 내 컴퓨터에서 직접 돌리면서, 기존 도구들을 그대로 사용할 수 있거든요.

Docker가 Claude Code와 Clawdbot을 Docker Model Runner(DMR)와 연동하는 방법을 공식 블로그에 공개했습니다. Claude Code는 Anthropic의 터미널 기반 AI 코딩 어시스턴트이고, Clawdbot(최근 Moltbot으로 리브랜딩)은 Telegram이나 WhatsApp 같은 메시징 앱에서 작동하는 개인 AI 어시스턴트죠. 두 도구 모두 이제 로컬 모델로 실행할 수 있습니다.
출처:
- Run Claude Code Locally with Docker Model Runner – Docker Blog
- Run a Private Personal AI with Clawdbot + DMR – Docker Blog
Docker Model Runner가 하는 일
Docker Model Runner는 AI 모델을 Docker 컨테이너처럼 관리하는 도구입니다. Docker Hub에서 docker model pull gpt-oss 명령으로 모델을 받고, OpenAI나 Anthropic API와 호환되는 엔드포인트를 로컬에 띄워줍니다. 그러면 Claude Code 같은 도구가 클라우드 API 대신 이 로컬 엔드포인트로 요청을 보내게 되죠.
핵심은 API 호환성입니다. 기존 도구들은 코드 수정 없이 환경변수만 바꾸면 됩니다. 추론은 내 GPU나 CPU에서 돌아가니 토큰 비용이 0원이고, 데이터도 내 컴퓨터 밖으로 나가지 않습니다.
실습 1: Claude Code를 로컬 모델로 실행하기
1단계: 모델 받기
먼저 사용할 모델을 받습니다. gpt-oss는 코딩 작업에 적합한 오픈소스 모델입니다.
docker model pull gpt-oss2단계: 컨텍스트 크기 늘리기
gpt-oss는 기본 컨텍스트가 4,096 토큰으로 코드 분석에는 부족합니다. Docker Model Runner는 모델을 재패키징해서 컨텍스트를 늘릴 수 있습니다.
docker model package --from gpt-oss --context-size 32000 gpt-oss:32k이제 32,000 토큰 컨텍스트를 가진 gpt-oss:32k가 준비됐습니다.
3단계: Claude Code 설치
Claude Code를 아직 설치하지 않았다면:
# macOS/Linux
curl -fsSL https://claude.ai/install.sh | bash
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex4단계: 로컬 모델로 실행
ANTHROPIC_BASE_URL 환경변수를 로컬 Docker Model Runner 주소로 설정하면 끝입니다.
ANTHROPIC_BASE_URL=http://localhost:12434 claude --model gpt-oss:32k "Describe this repo."Claude Code가 내 레포지토리를 읽고 분석하는데, 모든 처리가 로컬에서 일어납니다. Docker Desktop을 사용한다면 먼저 TCP 접근을 활성화해야 합니다.
docker desktop enable model-runner --tcp요청 내용을 확인하고 싶다면 docker model requests 명령으로 모니터링할 수 있습니다.
docker model requests --model gpt-oss:32k | jq .매번 환경변수를 입력하기 번거롭다면 쉘 프로필에 추가하세요.
export ANTHROPIC_BASE_URL=http://localhost:12434실습 2: Clawdbot도 같은 방식으로
Clawdbot(Moltbot)은 메시징 앱에서 작동하는 개인 AI 어시스턴트입니다. Telegram으로 “매일 아침 8시에 읽지 않은 이메일 상위 3개 요약해줘”라고 예약하면, 알아서 이메일을 읽고 요약을 보내줍니다.
설정 방법도 비슷합니다. ~/.config/clawdbot/config.json 파일에서 Docker Model Runner를 provider로 지정하면 됩니다.
{
"models": {
"providers": {
"dmr": {
"baseUrl": "http://localhost:12434/v1",
"apiKey": "dmr-local",
"api": "openai-completions",
"models": [
{
"id": "gpt-oss:128K",
"name": "gpt-oss (128K context window)",
"contextWindow": 128000,
"maxTokens": 128000
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "dmr/gpt-oss:128K"
}
}
}
}개인 어시스턴트는 대화 기록을 계속 기억해야 하니 컨텍스트가 더 중요합니다. Clawdbot은 SOUL.md 파일로 어시스턴트의 성격을 정의하고, Memory Vault로 사용자 선호도를 저장합니다. 컨텍스트가 작으면 대화 중간에 이런 정보를 잊어버리게 되죠.
추천 모델과 선택 기준
Docker Model Runner는 여러 모델을 지원합니다. Docker Hub에서 바로 받을 수도 있고, Hugging Face에서 가져올 수도 있습니다.
docker model pull huggingface.co/bartowski/Llama-3.3-70B-Instruct-GGUF코딩 작업:
- gpt-oss: 범용 코딩과 복잡한 추론
- glm-4.7-flash: 빠른 디버깅 (128K 컨텍스트 기본 제공)
- qwen3-coder: 에이전틱 코딩 워크플로우
개인 어시스턴트:
- 128K 이상 컨텍스트 필요
- 도구 사용(tool use) 능력 중요
- 장기 기억과 스케줄링 작업 고려
트레이드오프와 한계
이 방식의 가장 큰 장점은 프라이버시와 비용 제로입니다. 민감한 코드나 개인 데이터가 외부로 나가지 않고, 한 번 모델을 받으면 무제한으로 사용할 수 있습니다. 특히 “수천 개 이메일 요약” 같은 토큰 소모가 큰 작업에서 클라우드 API 비용이 걱정되지 않죠.
하지만 자체 GPU나 CPU가 필요하고, 클라우드 모델(Claude Opus, GPT-4)보다는 성능이 떨어집니다. 일상적인 코딩 도움이나 개인 작업 자동화에는 충분하지만, 최고 수준의 추론이 필요한 작업은 여전히 클라우드 모델이 낫습니다.
결국 무엇을 우선시하느냐의 문제입니다. 절대적 성능이 필요하면 클라우드를, 프라이버시와 비용 통제가 중요하면 로컬을 선택하면 됩니다. Docker Model Runner는 후자를 선택한 사람들에게 실용적인 도구를 제공합니다.
참고자료:
답글 남기기