https://github.com/jyje/claude-docker
๐ง๐ผโ๐ง Claude Code Docker Image, community-powered, lightweight
https://github.com/jyje/claude-docker
agentic-workflow ai claude-code docker docker-image workflow
Last synced: 3 days ago
JSON representation
๐ง๐ผโ๐ง Claude Code Docker Image, community-powered, lightweight
- Host: GitHub
- URL: https://github.com/jyje/claude-docker
- Owner: jyje
- License: other
- Created: 2026-01-30T14:23:05.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-07-01T20:05:56.000Z (4 days ago)
- Last Synced: 2026-07-01T22:04:43.006Z (4 days ago)
- Topics: agentic-workflow, ai, claude-code, docker, docker-image, workflow
- Language: Shell
- Homepage: https://ghcr.io/jyje/claude-docker
- Size: 203 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme-ko.md
- Contributing: contributing.md
- License: license.md
Awesome Lists containing this project
README
# jyje/claude-docker
Claude Code: ์ปค๋ฎค๋ํฐ ๋์ปค ์ด๋ฏธ์ง
[](https://github.com/jyje/claude-docker/actions/workflows/ci-main.yaml)
[](https://github.com/jyje/claude-docker/actions/workflows/ci-develop.yaml)
[](https://github.com/jyje/claude-docker/actions/workflows/cron-fetch-npm.yaml)
[](https://github.com/jyje/claude-docker)
[English](readme.md) / [ํ๊ตญ์ด](readme-ko.md)
โญ **์ด ํ๋ก์ ํธ๊ฐ ์ ์ฉํ์
จ๋ค๋ฉด GitHub Star(โญ)๋ฅผ ๋ถํ๋๋ฆฝ๋๋ค!**
๐ค ์ด ๋ ํฌ์งํ ๋ฆฌ๋ ์ปค๋ฎค๋ํฐ๊ฐ ์ ๊ณตํ๋ [Claude Code](https://docs.anthropic.com/en/docs/claude-code) ๋์ปค ์ด๋ฏธ์ง์
๋๋ค. Node.js 24 ๊ธฐ๋ฐ์ผ๋ก ๋น๋๋์์ต๋๋ค. ์ง์ ์ํคํ
์ฒ: `linux/amd64`, `linux/arm64`.
> [!IMPORTANT]
> ์ด ๋ ํฌ์งํ ๋ฆฌ๋ Anthropic๊ณผ ์ ํด ๊ด๊ณ๊ฐ ์์ต๋๋ค. Claude Code ์ฌ์ฉ์๋ฅผ ์ํ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํ๋ ์ปค๋ฎค๋ํฐ ํ๋ก์ ํธ์
๋๋ค. ๊ณต์ ์ ๋ณด๋ [docs.anthropic.com](https://docs.anthropic.com/en/docs/claude-code)์ ์ฐธ์กฐํ์ธ์.
> [!NOTE]
> **Anthropic ๊ณต์ Dockerfile ๊ธฐ๋ฐ**
> ์ด ๋์ปค ์ด๋ฏธ์ง๋ [Anthropic ๊ณต์ Claude Code devcontainer Dockerfile](https://github.com/anthropics/claude-code/blob/main/.devcontainer/Dockerfile)์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ, Node.js 24, ์๋ํ๋ CI/CD ํ์ดํ๋ผ์ธ, ๋ฉํฐ ์ํคํ
์ฒ ์ง์ ๋ฑ ์ปค๋ฎค๋ํฐ ์ฌ์ฉ์ ์ํ ๊ฐ์ ์ฌํญ์ด ์ถ๊ฐ๋์์ต๋๋ค.
## ๐ ๋ฌธ์
**์์ํ๊ธฐ**
- [ํ๊ตญ์ด ์์ ๊ฐ์ด๋](docs/getting-started-ko.md) - ๋น ๋ฅธ ์์, ํ๊ฒฝ ์ค์ , ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ, ์ธ์ฆ, ๋น ๋ฅธ ํ
์คํธ
**๊ณ ๊ธ ๊ฐ์ด๋**
- [๊ณ ๊ธ ๊ฐ์ด๋](docs/advanced-guide-ko.md) - Argo Workflows, Kubernetes Jobs/CronJobs, CI/CD ํตํฉ
## ํ๊ฒฝ ๋ณ์
| ๋ณ์ | ํ์ | ์ค๋ช
|
|------|------|------|
| `ANTHROPIC_API_KEY` | ์ | Anthropic API ํค. [console.anthropic.com](https://console.anthropic.com/)์์ ๋ฐ๊ธ |
| `ANTHROPIC_BASE_URL` | ์๋์ค | ์ปค์คํ
API ์๋ํฌ์ธํธ URL. ๋ก์ปฌ ๋ชจ๋ธ(์: Docker Model Runner) ๋๋ ์ปค์คํ
์๋ํฌ์ธํธ ์ฌ์ฉ ์ |
> [!TIP]
> Docker, ์ฟ ๋ฒ๋คํฐ์ค, API ํค ์ธ์ฆ์ ํฌํจํ ์์ธํ ์ฌ์ฉ ์์ ๋ **[์์ ๊ฐ์ด๋](docs/getting-started-ko.md)**๋ฅผ ์ฐธ์กฐํ์ธ์.
## ์ฌ์ ์ค์น๋ ์ ํธ๋ฆฌํฐ
์ด ์ด๋ฏธ์ง๋ ๋ค์ ์ ํธ๋ฆฌํฐ๊ฐ ์ฌ์ ์ค์น๋์ด ์์ต๋๋ค:
```
- @anthropic-ai/claude-code (์ต์ ๋๋ ์ง์ ๋ ๋ฒ์ )
- node 24
- npm
- git + git-delta (diff ๋ทฐ์ด)
- zsh + powerline10k ํ
๋ง
- fzf (ํผ์ง ํ์ธ๋)
- gh (GitHub CLI)
- jq, curl, wget
- nano, vim
- iptables, ipset, iproute2 (๋คํธ์ํฌ ์๋๋ฐ์ค์ฉ)
```
## MCP (Model Context Protocol) ์ฐ๊ฒฐ
Claude Code๋ [MCP](https://modelcontextprotocol.io/)๋ฅผ ํตํด GitHub, ๋ฐ์ดํฐ๋ฒ ์ด์ค, API ๋ฑ ์ธ๋ถ ๋๊ตฌ์ ๋ฐ์ดํฐ ์์ค์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
### ์ปจํ
์ด๋ ๋ด๋ถ์์ MCP ์๋ฒ ์ถ๊ฐ
```bash
# ์ปจํ
์ด๋ ์์
docker run --rm -it \
-e ANTHROPIC_API_KEY \
-v $(pwd):/workspace \
-v claude-mcp-config:/home/node/.claude \
ghcr.io/jyje/claude-docker
# ์ปจํ
์ด๋ ๋ด๋ถ: MCP ์๋ฒ ์ถ๊ฐ
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
claude mcp add --transport stdio postgres -- npx -y @bytebase/dbhub --dsn "postgresql://user:pass@host:5432/db"
# ์ค์ ๋ ์๋ฒ ๋ชฉ๋ก ํ์ธ
claude mcp list
# ์๋ฒ ์ํ ํ์ธ
/mcp
```
### .mcp.json ์ค์ ํ์ผ ์ฌ์ฉ
ํ ๊ณต์ ์ฉ MCP ์ค์ ์ ์ํด ํ๋ก์ ํธ ๋ฃจํธ์ `.mcp.json`์ ์์ฑํ์ธ์:
```json
{
"mcpServers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/"
},
"postgres": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@bytebase/dbhub", "--dsn", "${DATABASE_URL}"],
"env": {
"DATABASE_URL": "${DATABASE_URL}"
}
},
"filesystem": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"]
}
}
}
```
๋ง์ดํธํ์ฌ ์คํ:
```bash
docker run --rm -it \
-e ANTHROPIC_API_KEY \
-e DATABASE_URL="postgresql://user:pass@host:5432/db" \
-v $(pwd):/workspace \
-v $(pwd)/.mcp.json:/home/node/.mcp.json:ro \
ghcr.io/jyje/claude-docker
```
### ์ธ๊ธฐ MCP ์๋ฒ
| ์๋ฒ | ๋ช
๋ น์ด |
|------|--------|
| GitHub | `claude mcp add --transport http github https://api.githubcopilot.com/mcp/` |
| Sentry | `claude mcp add --transport http sentry https://mcp.sentry.dev/mcp` |
| PostgreSQL | `claude mcp add --transport stdio postgres -- npx -y @bytebase/dbhub --dsn "postgresql://..."` |
| Filesystem | `claude mcp add --transport stdio fs -- npx -y @modelcontextprotocol/server-filesystem /workspace` |
๋ ๋ง์ MCP ์๋ฒ๋ [GitHub์ MCP Servers](https://github.com/modelcontextprotocol/servers)๋ฅผ ์ฐธ์กฐํ์ธ์.
## DevContainer ์ง์
์ด ๋ ํฌ์งํ ๋ฆฌ๋ VS Code Dev Containers๋ฅผ ์ํ `.devcontainer` ๊ตฌ์ฑ์ ํฌํจํฉ๋๋ค:
1. [Dev Containers ํ์ฅ](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) ์ค์น
2. ์ด ๋ ํฌ์งํ ๋ฆฌ ํด๋ก
3. ํธ์คํธ์ `ANTHROPIC_API_KEY` ํ๊ฒฝ ๋ณ์ ์ค์
4. VS Code์์ ์ด๊ณ "Reopen in Container" ํด๋ฆญ
devcontainer๋ ์๋์ผ๋ก:
- ๋คํธ์ํฌ ์๋๋ฐ์ค (๋ฐฉํ๋ฒฝ) ์ค์
- powerline10k์ ํจ๊ป zsh ๊ตฌ์ฑ
- `/workspace`์ ์ํฌ์คํ์ด์ค ๋ง์ดํธ
- ๋ช
๋ น ๊ธฐ๋ก ๋ฐ Claude ์ค์ ์ ์ง
## CI ํ์ดํ๋ผ์ธ
์ด ๋ ํฌ์งํ ๋ฆฌ๋ ์๋ํ๋ CI ํ์ดํ๋ผ์ธ์ ํตํด ๋ ๊ฐ์ง ์ฃผ์ ๋ฐฐํฌ ์ ๋ต์ผ๋ก Claude Code ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ณ ๊ด๋ฆฌํฉ๋๋ค:
### `main` ๋ธ๋์น (ํ๋ก๋์
๋ฆด๋ฆฌ์ฆ)
- **์๋ ์คํ**: `main` ๋ธ๋์น์ ์ปค๋ฐ๋๋ฉด ๋ฆด๋ฆฌ์ฆ ์ด๋ฏธ์ง๊ฐ ์๋์ผ๋ก ๋น๋ ๋ฐ ๋ฐฐํฌ๋ฉ๋๋ค.
- **ํ๊ทธ ์ ๋ต**: ํ์ค ๋ฒ์ ํ๊ทธ(์: `v2.0.0`)๋ฅผ ์์ฑํฉ๋๋ค. ๊ตฌ ๋ฒ์ ํจ์น๊ฐ ํ์ฌ ๋ฐฐํฌ๋ ์ต์ ๋ฒ์ ์ ๋ฎ์ด์ฐ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด, ํ์ฌ ๋น๋ ๋์์ด ์ ๋์ ์ธ ์ต์ ๋ฒ์ ์ผ ๋๋ง `latest` ๋ฐ `major`/`minor` ํ๊ทธ๋ฅผ ์ ์ฉํฉ๋๋ค.
- **๋ฆด๋ฆฌ์ฆ ๋
ธํธ**: ์์ธํ ๋ณ๊ฒฝ ์ฌํญ(Changelog)๊ณผ ํจ๊ป GitHub Release๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค.
### `develop` ๋ธ๋์น (๊ฐ๋ฐ์ฉ ๋น๋)
- **์๋ ์คํ**: `develop` ๋ธ๋์น์ ์ปค๋ฐ๋๋ฉด ํ
์คํธ์ฉ ์ด๋ฏธ์ง๊ฐ ์๋์ผ๋ก ๋น๋ ๋ฐ ๋ฐฐํฌ๋ฉ๋๋ค.
- **ํ๊ทธ ์ ๋ต**: ํด์ ์ถฉ๋์ ์์ ํ ์ ๊ฑฐํ๊ธฐ ์ํด `-dev:[20์๋ฆฌ SHA]` ๋ฐ `-dev:latest` ํ๊ทธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- **์คํ ๋ฆฌ์ง ๊ด๋ฆฌ**: ์คํ ๋ฆฌ์ง ๊ณต๊ฐ ์ต์ ํ๋ฅผ ์ํด GHCR์ ๊ฐ์ฅ ์ต๊ทผ์ ๊ฐ๋ฐ ์ด๋ฏธ์ง 20๊ฐ๋ง ์ ์งํ๋ ์๋ ๊ฐ๋น์ง ์ปฌ๋ ์
(GC)์ ๊ตฌํํ์ต๋๋ค.
### ๊ณตํต ๊ธฐ๋ฅ
- **๋ฉํฐ ์ํคํ
์ฒ ์ง์**: `linux/amd64`์ `linux/arm64` ์ํคํ
์ฒ ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค.
- **์๋ ์
๋ฐ์ดํธ**: ํฌ๋ก ์์
์ด 6์๊ฐ๋ง๋ค ์ Claude Code ๋ฒ์ ์ ํ์ธํ๊ณ Pull Request๋ฅผ ์๋ ์์ฑํฉ๋๋ค.
- **ํ์ดํ๋ผ์ธ ๊ฑด๋๋ฐ๊ธฐ**: ์ปค๋ฐ ๋ฉ์์ง์ `--no-ci` ํ๋๊ทธ๋ฅผ ํฌํจํ๋ฉด ํด๋น ์ปค๋ฐ์ ๋ํด CI ํ์ดํ๋ผ์ธ ์คํ์ ๊ฑด๋๋ธ ์ ์์ต๋๋ค.
## ๊ธฐ์ฌํ๊ธฐ
ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋ ๋ฐฉ๋ฒ์ [๊ธฐ์ฌ ๊ฐ์ด๋๋ผ์ธ](contributing.md)์ ์ฐธ์กฐํ์ธ์.
## ๋ผ์ด์ ์ค
์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ ์ค๋ก ๋ฐฐํฌ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ [license.md](license.md)๋ฅผ ์ฐธ์กฐํ์ธ์.
Claude Code๋ [Anthropic](https://www.anthropic.com/)์ ์ ํ์
๋๋ค. ์ด ํ๋ก์ ํธ๋ Anthropic๊ณผ ์ ํด ๊ด๊ณ๊ฐ ์์ต๋๋ค.